Skip to main content
If you belong to more than one Orchestra workspace (a company and a lab, two clients, a team and a side project), you sign in once and each repository syncs to the workspace you choose for it. Work from one repository never reaches another workspace. If you belong to one workspace, nothing here applies to you: you are never asked, and everything goes to your workspace as before.

Choosing a repository’s workspace

Run orchestra enable in the repository. When you belong to several workspaces it lists them and suggests one:
  • the workspace whose GitHub connection includes the owner of the repository’s remote, else
  • the workspace your other repositories with that owner use on this computer, else
  • the workspace you chose last.
Press Enter to take the suggestion, or type another number or a name. To choose without being asked (a script, a new machine), name it:
You do not need the exact name. Any of these finds “Architectural Robotics Laboratory”:
  • the name in any case, or its slug;
  • its initials: ARL;
  • a word of it, or the start of one: architectural, robotics lab.
When what you typed fits two workspaces, nothing changes and Orchestra lists both with the command for each. When it fits none, Orchestra suggests the closest, prints the command to run, and lists your workspaces. From then on that repository’s sessions, memories, recall and the issue tools your agents use act in that workspace only. The agent’s get_me tool names the workspace it acts in. In the desktop app, Settings, This machine, Workspaces lists each repository with its workspace and lets you choose or switch. The terminal client names the workspace beside the folder on its home screen, and ctrl+o there (or /workspace) lists your workspaces to choose or switch, with the same suggestion preselected. To look at another workspace in the desktop app, choose it in the workspace menu at the top of the sidebar. You stay signed in, and it changes only what the window shows: each repository keeps syncing to the workspace you chose for it (see Switching workspaces).

Listing your workspaces

lists every workspace you belong to, with its short slug, your role, how many members it has, and the repositories on this computer that sync to it. A * marks the one the repository you are in syncs to. orchestra workspaces --json gives the same for scripts, and orchestra status in a repository names its workspace.

Repositories with no workspace yet

When you belong to several workspaces and a repository has none chosen, Orchestra sends nothing from it. Its sessions wait on your computer, and recall or remember there tells you to choose. The next time you run orchestra enable (or open the terminal client) in it you are asked. Once you choose, new sessions go to that workspace, and orchestra import in the repository sends the ones that waited. Repositories you enabled before you joined a second workspace keep syncing to the workspace they were enabled for.

Switching a repository

In the repository, run:
Without a name, at a terminal, it lists your workspaces to pick from. orchestra enable --workspace <name> does the same, and asks first. In the terminal client, ctrl+o on home (or /workspace) lists them and switches without quitting. Either way Orchestra says what moves: sessions you start from then on go to the new workspace; sessions already started stay in the old one. Nothing is copied between workspaces.

Checking

orchestra doctor lists the workspaces you belong to and each enabled repository with the workspace it syncs to, and warns about any repository whose sessions are waiting for a choice.

Orchestra Local

On Orchestra Local your sessions and memories stay on your computer and are shared through your repository’s git as before. The hosted workspace you choose applies only to what reaches your hosted workspace, such as the issue tools, and a repository syncs to one hosted workspace: --workspace with several names is refused there. Your computer keeps its own workspaces on Local, Personal and one per Local team, and on Local a repository can belong to several of them. Every session in it goes to every workspace it belongs to, each workspace keeping its own copy. Each team shares its copy with its own teammates, as it does for a repository on that team alone; the copy in Personal is never shared.
Each of these says what changes: new sessions go to every workspace listed, sessions saved before stay where they are, and nothing is copied (use moving a repository to a team is the exception: it copies its last 30 days there). In the terminal client, ctrl+o (or /workspace) ticks each workspace the repository belongs to, and Enter adds or removes the highlighted one. In the desktop app, the workspace menu lists them under Local, and Repositories on this computer has a checkbox for each. Until a repository is first given a workspace, your computer is one workspace on Local, and a new Local team is empty until a repository is added to it. The first choice switches the computer to separate workspaces for good. All of this, and what happens to memories and issues, is in Workspaces on your computer.