orchestra / docs
Documentation/Getting started

Projects & sessions

Organize your work around folders, with an isolated worktree and terminal for every session.

On this page Create and manage projectsStart a sessionA worktree for every sessionReview changesPlain terminalsProject scratchpadSwitch without stopping workRename, resume, or close

Create and manage projects

Click + next to Projects or press ⇧⌘N. Give the project a name and choose an existing folder.

Hover over a project to reveal its menu and collapse control. Use the menu to edit the project’s display name, move it, or remove it. Renaming a project does not rename its folder.

Choose Edit Project… to give the project an emoji and a description of up to 500 characters. The emoji replaces the folder icon in the sidebar and marks the project’s space in Arc Mode. The description appears when you hover over the project name. You can also add a description when you create the project.

Start a session

Open the + menu on a project row and choose Session, or press ⌘N. The Default Agent is listed first. Orchestra starts its CLI through your login shell, in auto mode when the agent supports it.

You can create several sessions in the same project and use different agents. Each session has its own process and terminal state.

A worktree for every session

Create a new worktree is checked by default. The session starts on a new branch from the current commit, in its own checkout:

  • Folder: ~/.orchestra/worktrees/<repository>/<id>
  • Branch: orchestra/<agent>-<id>

Uncommitted changes stay in the original folder. Clear the checkbox to start the session in the project folder instead. Worktrees require a Git repository with at least one commit.

Review changes

Press ⇧⌘B, click Changes in the status bar, or choose Show Changes in the command bar to open the Changes pane beside the selected session. It stays open as you move between sessions.

  • For a session in a worktree, it shows the commits and uncommitted changes since the worktree started.
  • For a session in the project folder, it shows uncommitted changes compared with HEAD. Other sessions in that folder share these changes.

Each file shows whether it was added, modified, deleted, or renamed; expand it to read the changes with line numbers. New files that Git does not ignore count as added. The pane refreshes when an agent finishes its turn, or click Refresh Changes. Drag its edge, or use the arrow keys on it, to resize it. Binary files and very large changes are not shown.

Plain terminals

Choose + → Terminal, or New Terminal in the command bar, to open your login shell in the project folder. Terminals have no activity dot and are not used for Work on, Review, or messaging.

When a terminal’s shell exits, choose Start New Shell. After a restart, selecting a terminal starts a fresh shell.

Project scratchpad

Projects start without a Scratchpad. Open a project row’s + menu and choose Scratchpad to add and open its notes page. Write in Markdown in Edit mode, and switch to Read mode to see it rendered, or press ⌘E to toggle. Orchestra saves it automatically with the project and restores it when the app reopens.

Agents can use the Scratchpad too. From a session inside the app, orchestra scratchpad read, write and append read and change the project’s notes, and the open editor picks up their changes while keeping your unsaved edits.

Switch without stopping work

Select a session in the sidebar to show its terminal. Switching views keeps the other session processes and terminal scrollback alive while the app remains open.

Each project remembers its last selected session. The activity dot at the end of each row shows which agents are working or waiting; see activity indicators.

Rename, resume, or close

  • Edit Session…: change its display name.
  • Resume Session: reopen an ended conversation when its agent ID was captured.
  • Messages…: inspect the inbox, send requests, or read replies.
  • Copy Session ID: copy the address used by the Orchestra messaging CLI.
  • Move Up / Move Down: reorder without dragging.
  • Close Session…: stop the process and remove the session from the project.

When a worktree session closes, Remove the worktree is checked by default. Orchestra never discards work: a checkout with uncommitted changes stays open, and a branch with unmerged commits is kept. Clear the checkbox to keep the worktree.

To understand what survives an app restart, read Saved workspace & resume.

Browse documentation

Welcome to OrchestraA macOS workspace for your projects, terminals, and coding agents.
InstallationDownload Orchestra from GitHub Releases, or build it from source.
Projects & sessionsOrganize your work around folders, with an isolated worktree and terminal for every session.
Supported agentsUse the agent CLIs you already know, with their own configuration and credentials.
TerminalA real interactive terminal, running your agent or shell in its own folder.
Sidebar & navigationArrange the sidebar, switch projects with Arc Mode, and keep track of activity.
Saved workspace & resumeReturn to your projects and continue a captured agent conversation.
Issues & pull requestsRead and triage repository context, then start an agent session without leaving Orchestra.
Session messagingExchange requests and replies between existing sessions in the same project.
AppearanceChoose a palette for the whole workspace, including your terminals.
Custom themesCreate your own palette in a JSON file and use it beside the built-in themes.
UsageSee subscription limits for your agents and OpenRouter spend by model.
Settings & storageGeneral preferences and where Orchestra keeps workspace metadata and message history.
Privacy & usage dataOptional anonymous usage sharing, approximate city and country, and every collected event.
Keyboard shortcutsThe everyday actions you can reach from the keyboard.
ContributingReport issues, propose changes, and build Orchestra locally.
FAQAnswers to the questions that come up before your first session.
↑↓ Navigate↵ Openesc Close