Team workspace is a Pro feature. The @workspace commands are available in Pro builds; Free builds keep local definitions and collections.

A team workspace is a folder in a git checkout. The app reads and writes <folder>/.ai-terminal/ and never runs git commit or git push.

@workspace open ~/src/acme-apis
@workspace
@workspace status
@workspace save
@workspace close

@workspace with no verb is status. Settings → Team workspace → Open folder is the same open. workspace in the @ palette opens the same commands.

flowchart LR
  folder[("Checkout\n.ai-terminal/")]:::store
  merge["Merge by name"]:::step
  local[("This machine\nkeychain")]:::secret
  guard{"Secret\nguard"}:::gate
  diff["You review\nthe diff"]:::out

  folder --> merge --> local
  local --> guard --> diff

  classDef store fill:#134e4a,stroke:#5eead4,stroke-width:2px,color:#f4fbfa
  classDef secret fill:#FFC131,stroke:#b45309,stroke-width:2px,color:#1a1404
  classDef gate fill:#FFC131,stroke:#b45309,stroke-width:2px,color:#1a1404
  classDef step fill:#0f766e,stroke:#99f6e4,stroke-width:2px,color:#f4fbfa
  classDef out fill:#166534,stroke:#86efac,stroke-width:2px,color:#f0fdf4
  linkStyle 0,1 stroke:#5eead4,stroke-width:2.5px
  linkStyle 2 stroke:#FFC131,stroke-width:2.5px
  linkStyle 3 stroke:#86efac,stroke-width:2.5px

The path is absolute, or it starts with ~. A relative path is rejected with Use an absolute path (or one starting with ~). The same rule is why termorq-cli --workspace . fails.

The files

Pretty JSON, sorted keys, schema version 1. A newer schema is reported, not guessed at.

FileContents
workspace.jsonThe name
api-connections.jsonConnections, without secret values. A vault reference stays as secret_ref
endpoints.jsonEndpoints, including checks
collections.jsonCollections and captures
environments.jsonEnvironments, their variables, and customers
mcp-servers.jsonServers. Secret env values are names only
.gitignoreWritten on save. Ignores local.json and *.local.json

@workspace save leaves out API secrets and tokens, MCP secret env values and headers, and certificate paths outside the folder. Paths inside the folder are stored relative. Secret-looking header, query, body, and environment variable values become {{name}} placeholders. A placeholder never overwrites a value you already have locally.

A vault reference is kept as written. It is not a secret, and the guard allows a valid akv:// or op://.

Open

Open merges by name into this machine: API connections, endpoints with their checks, collections, environments and customers with variables, and MCP servers. Rows from the workspace show a workspace badge in @apis, @mcp, and @library. A connection whose secret is not here yet shows needs secret. You edit it and enter the secret. That value stays in this computer’s secret store.

Local secrets, favourites, ids, and Connect when the app starts are kept on merge.

The guard

Before anything is written, the app scans the files for JWTs, sk- keys, GitHub, Slack, AWS, and Google tokens, private keys, password= values, and long base64 or hex strings. A hit refuses the save. The message names the file and the kind of secret. It does not print the value. Nothing is written.

Status and close

@workspace status runs git status --porcelain -b and shows the branch and the uncommitted files. @workspace close forgets the folder. Merged definitions stay.

There is no @workspace push. You review the diff and commit it yourself.

The sample workspace is a folder you can open this way. termorq-cli reads the same files and does not write them, except that a plan file is never written back either.