Skip to content
DocsDesktop
On this page

Review changes, files and terminals

Desktop keeps your projects in the sidebar on the left and the chat in the middle. Review, files, a web browser and context usage open in a side panel on the right, the side chat in a column beside the chat, and terminals along the bottom.

Open a panel

Click Show side panel in the title bar, then pick a panel. Or use a shortcut:

Panel macOS Windows and Linux
Review ⌘⇧D Ctrl+Shift+D
Files ⌘⇧E Ctrl+Shift+E
Terminal ⌘J Ctrl+J
Browser ⌘⇧B Ctrl+Shift+B
Side chat ⌘⇧J Ctrl+Shift+J

The View menu has the same panels; Review is called Changes there. Context shows how much of the model's context the chat uses, with token counts and cost. Drag the edge of a panel to resize it, or double-click the edge to reset it. In a narrow window the side panel takes the sidebar's place first, before it covers the chat.

Review what changed

  1. Open Review.
  2. Choose what to compare in the first menu:
    • Working tree: your uncommitted changes.
    • Current branch: everything on this branch.
    • Last turn: what the latest turn in this chat changed.
  3. Pick a file in the list, or tick Show every file at once. Tick Reviewed on each file as you go.

The other menus switch between Split and Unified diffs and set how many lines of context to show, up to Full file. Copy patch copies one file's diff. A step in the chat that edited a file also has Show in Review.

Review needs the project to be a Git repository. Otherwise it says This folder isn’t a Git repository.

Comment on a line

  1. Click the comment button beside a line, or double-click the line.
  2. Type your comment in Comment on this line…. Shift+Enter starts a new line.
  3. Press Enter or click Add to message.

The comment is added to your message box with the file and line it refers to. Add more comments, then send the message to hand the whole review back to Haarness. Esc cancels a comment.

Browse and edit files

Open Files to see the project tree. Find a file… searches by name, and the buttons beside it create a file or folder.

Click a file to open it in a tab. Edit it and press ⌘S or Ctrl+S to save. HTML, SVG and Markdown files also have a Preview view beside Code.

  • Add file to context (⌘⇧L or Ctrl+Shift+L) puts the open file into your next message. Select some lines first to add just those, with Add selection to context.
  • In a Markdown preview, select some text and click Comment on selection to add a comment on those lines to your message, as in Review.
  • Rename, Delete and Reveal in file manager act on the open file.
  • Desktop asks before you close a file, switch folders or quit with unsaved edits.

Files are limited to the project folder, and to 10 MiB each.

When a file changes while it is open

The Files panel follows changes on disk: after the agent edits files, at the end of each turn, and when you come back to the window. New files appear in the tree, and an open file you have not edited shows the new text.

If you have unsaved edits in that file, they are kept, and a bar says This file changed on disk while you were editing it.

  • Reload shows the file as it is on disk, dropping your edits.
  • Keep mine keeps your edits; your next save replaces the file on disk.

Saving over a file that changed on disk shows the same bar instead of overwriting it.

Run commands in a terminal

Press ⌘J or Ctrl+J, or click Toggle terminal in the title bar. A shell opens in the project folder, ready to type.

  • + opens another terminal tab. Double-click a tab to rename it.
  • Hide terminal hides the panel but keeps its processes running, so a dev server or watcher carries on.
  • Closing a terminal's tab stops that shell. Closing the last one hides the panel.

The terminals run on the same Haarness server as your chats, so they also keep running when you close the Desktop window. On macOS, Settings → General → Option as Meta key makes Option work as Meta in the terminal.

Test a website in the browser

Browser opens web pages next to the chat, and Haarness can use the same browser to check its own work. Preview pages and use the browser covers it, with the pages Haarness builds for you to preview.

Work in a separate worktree

A worktree is a second checkout of the same Git repository, so Haarness can work on a branch without touching your main folder.

  1. Start a new chat. Just above the message box, next to the project name, click the location button. It shows which checkout the next message will use.
  2. Choose New worktree….
  3. Give it a Name, choose where to Start from, and click Create worktree.

Desktop opens a new chat in the worktree. To see worktrees in the sidebar, choose Show worktrees in sidebar from the same location menu, or Enable worktree view in the project's ⋯ menu. Each worktree's ⋯ menu then offers Reset worktree… and Remove worktree…. Haarness refuses to remove a worktree that has uncommitted changes or running tasks. Work on a branch in a worktree covers the same feature from the CLI.

Keep several chats open in tabs

When more than one chat is open, they show as tabs above the chat.

  • A plain click on a chat in the sidebar, or in search, opens it in a preview tab, shown in italics: the next chat you open takes its place, so looking through chats leaves one tab behind.
  • The tab stays once you use the chat (type in it, send, or answer a request), or when you double-click it or press Enter on it. A middle-click on a chat in the sidebar opens it in a tab that stays.
  • + at the end of the tabs starts a new chat. Ctrl+Tab and Ctrl+Shift+Tab move between tabs.

Open tabs come back when you reopen the project.

Organise projects and chats

  • Add a project: the + button beside Projects.
  • Move between chats: Alt+↑ and Alt+↓ (Option on macOS) open the previous or next chat in the sidebar. Ctrl+Shift+L on macOS (Alt+Shift+L elsewhere) puts the keyboard on the open chat in the sidebar.
  • Reorder: drag a project or a chat. With the keyboard, focus a row and use Alt and the arrow keys.
  • Show or hide a project's chats: click the arrow beside its name. Several projects can stay open at once.
  • Project menu (⋯): Pin a project, Rename… it, put it in a Section, start a New chat, Select chats to archive several, archive all its chats, or Remove project from the sidebar. Removing a project keeps its chat history.
  • One list instead of groups: the ⋯ beside Projects, then Organize sidebar → In one list.

Chats started by a schedule appear under Scheduled in the sidebar, grouped by schedule. When every chat of a project is archived, the project says how many; click the count to find them in search. Hover over a long chat or project name to read it in full.

Next