Agents & subscriptions
The 25 coding-agent CLIs Mandeck can launch, how it reads each one's sign-in without asking you for anything, and how a second plan works.
The catalog
An agent, to Mandeck, is a launch command it runs in a new pane. There is no Mandeck account and no key collection: whatever you already installed and logged into is what runs.
| Agent | Vendor | Command | Install |
|---|---|---|---|
| Claude Code | Anthropic | claude | brew install --cask claude-code |
| Codex | OpenAI | codex | brew install --cask codex |
| GitHub Copilot CLI | GitHub | copilot | brew install --cask copilot-cli |
| Gemini CLI | gemini | brew install gemini-cli · needs Node | |
| Cursor CLI | Anysphere | cursor-agent | curl https://cursor.com/install -fsS | bash |
| opencode | Anomaly | opencode | brew install anomalyco/tap/opencode |
| aider | Aider AI | aider | curl -LsSf https://aider.chat/install.sh | sh |
| goose | Block / AAIF | goose session | brew install block-goose-cli |
| Amp | Sourcegraph | amp | curl -fsSL https://ampcode.com/install.sh | bash |
| Crush | Charmbracelet | crush | brew install charmbracelet/tap/crush |
| Factory Droid | Factory AI | droid | brew install --cask droid |
| Qwen Code | Alibaba | qwen | brew install qwen-code · needs Node |
| Kimi CLI | Moonshot AI | kimi | curl -LsSf https://code.kimi.com/install.sh | bash |
| Devin CLI | Cognition | devin | curl -fsSL https://cli.devin.ai/install.sh | bash |
| Kiro CLI | AWS | kiro-cli | curl -fsSL https://cli.kiro.dev/install | bash |
| OpenHands CLI | All-Hands AI | openhands | curl -fsSL https://install.openhands.dev/install.sh | sh |
| Forge | Antinomy | forge | curl -fsSL https://forgecode.dev/cli | sh |
| Pi | Mario Zechner | pi | curl -fsSL https://pi.dev/install.sh | sh · needs Node |
| Continue CLI | Continue | cn | curl -fsSL https://raw.githubusercontent.com/continuedev/continue/main/extensions/cli/scripts/install.sh | bash · needs Node |
| Open Interpreter | Open Interpreter | interpreter | curl -fsSL https://www.openinterpreter.com/install | sh |
| Grok Build | xAI | grok | curl -fsSL https://x.ai/cli/install.sh | bash |
| Mistral Vibe | Mistral AI | vibe | curl -LsSf https://mistral.ai/vibe/install.sh | bash |
| Cline CLI | Cline | cline | npm only · needs Node |
| Hermes | Nous Research | hermes | curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash |
| OpenClaw | OpenClaw | openclaw | curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git · needs Node |
There is also Shell — a pane with no launch command, just your shell. Over
the Deck API its slug is shell, and a shell pane is the one
kind that does not run a spawn's prompt; the prompt is recorded on the job
only.
GET /v1/agents returns the slugs this particular Mac can actually run, so a
bot never offers an agent that is not installed.
How sign-in is detected
Settings › Agents reads straight from each CLI's own login — there is no separate Mandeck sign-in. Whoever you logged that tool into shows there, with its version.
The probe is pure file reads against each CLI's own credential store: instant, no subprocesses, and best effort by design.
| Agent | Read from | Shows |
|---|---|---|
| Claude Code | ~/.claude.json | oauthAccount.emailAddress and the subscription type |
| Codex | ~/.codex/auth.json | the email and ChatGPT plan out of the id token |
| Gemini CLI | ~/.gemini/google_accounts.json | the active account |
| opencode | ~/.local/share/opencode/auth.json | how many upstream providers are connected |
| Cursor CLI | ~/.cursor/cli-config.json | whether the file is there |
For every other agent the answer is unknown, and the row says Installed rather than guessing.
When a row reads Not signed in it offers a Sign in button, which opens a pane running that CLI's own login command:
| Agent | Login command |
|---|---|
| Claude Code | claude /login |
| Codex | codex login |
| Gemini CLI | gemini — the OAuth flow runs on first launch |
| opencode | opencode auth login |
| Cursor CLI | cursor-agent login |
A second subscription
Settings › Agents › Extra subscriptions is manual, and only
if you hold more than one plan: name a second account and paste a
claude setup-token. Mandeck records only that a token is connected, never an
email — the identity above already comes from the CLI. Default is just the
~/.claude every CLI already uses.
Each named account gets Get token, Paste token (Replace token once one is connected), Sign in, and Forget. An account with a token connected carries a live meter in Stats and can be switched mid-pane.
Over the API, GET /v1/accounts lists the accounts this deck can spend,
POST /v1/accounts ensures one exists, and POST /v1/spawn takes an account
so a handed-off task runs on the plan you chose.