One focused chat view in the VS Code and Cursor sidebar for Claude, Codex, and Grok. Start a task with one, switch to another mid-conversation, and the new model gets primed with what was already discussed — because the extension keeps its own transcript instead of relying on either tool's internal memory.
Both backends run through your own already-authenticated CLI sessions
(claude / codex / grok), so this uses your existing subscriptions, not a
separate API key.
Setup
Switchboard for AI does not bundle provider credentials. Install and sign in to the CLI providers you want to use, then reopen the chat:
claude
codex login
grok login
The chat header includes a connection check that confirms which CLIs are available on your PATH. Authentication is verified when you send the first message, and any provider error is shown in the conversation.
Your credentials and provider sessions stay in the provider CLIs' own local configuration. Switchboard does not upload prompts, code, credentials, or conversation history to its developer.
Pasted images are saved under .switchboard/attachments in the current
workspace so the selected coding CLI can read them within its workspace
permissions. Claude defaults to accepting file edits because headless CLI mode
cannot display an interactive approval prompt; you can switch to Plan mode in
Settings when you want review before changes.
Model controls
Open the settings drawer from the chat header to configure each backend independently. Switchboard passes these settings directly to the installed CLI:
- Claude: model override, effort, permission mode, tool access, and ephemeral sessions
- Codex: model override, reasoning effort, sandbox access, and ephemeral sessions
- Grok: model override, reasoning effort, permission mode, and ephemeral sessions
The model picker includes the current provider families as of July 2026:
- Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5, and Claude Haiku 4.5
- GPT-5.6 Sol, GPT-5.6 Terra, and GPT-5.6 Luna
- Grok 4.5 (the current Grok CLI default)
Each picker also includes Automatic (the CLI default) and a Custom model ID option so newer or account-specific models remain usable without an extension update.
Settings are remembered by the webview. Dangerous approval-bypass flags are deliberately not exposed. Both CLIs run with the first open workspace folder as their working directory.
The interface follows VS Code's native visual language: flat theme surfaces, standard borders and controls, compact spacing, and no decorative gradients. Provider tabs, messages, the composer, and usage cards use locally bundled Anthropic, OpenAI, and xAI brand marks for quick identification. Header actions use a compact icon toolbar and collapse to icon-only controls in narrow editor columns. Send is a small directional action instead of a text block. Long-running responses can be stopped, and completed responses show elapsed time. On Windows, all CLI subprocesses run without opening a visible console window; the native Codex executable is launched directly when available.
Chat history
Conversations are saved automatically in VS Code's workspace storage and remain available after restarting VS Code or Cursor. Open History from the header to resume a chat, rename it inline, or delete it with confirmation. New chat starts a separate saved conversation; it does not erase the previous transcript. The Usage limits panel shows live remaining percentages and reset times for the Claude and Codex subscription windows available to the signed-in account. Grok's CLI does not return its quota as JSON, so its card opens the provider usage page.
Prerequisites
-
Node.js + npm
-
VS Code 1.98+
-
The standalone Claude Code CLI installed and logged in — run
claudeonce, then confirmclaude -p "hello"returns a response in a plain terminal -
The Codex CLI installed and logged in — run
codex, then confirmcodex exec "hello" --jsonreturns a response in a plain terminal -
Both
claudeandcodexresolving on PATH (the VS Code extensions for each bundle a private copy that this extension can't reach — you need the separate standalone CLI installs) -
The official Grok CLI installed and logged into grok.com: run
grok login --oauth, then confirmgrok modelslists your account model
Run it in development
npm install
npm run compile
Then press F5 in VS Code to launch an Extension Development Host. Click the
Switchboard icon in the Activity Bar, or run the Switchboard: Open Chat
command (Cmd/Ctrl+Shift+P) to focus the sidebar chat. You can move the view
to the right-side Secondary Sidebar/Auxiliary Bar and VS Code will remember
that placement.
Package it
npm install -g @vscode/vsce
vsce package
This produces switchboard-0.9.0.vsix. Install it via the Extensions view
→ ... menu → Install from VSIX. Since Cursor is a VS Code fork, the
same .vsix should install there too.
Verified CLI versions
- Claude Code 2.1.201 (
resultin the top-level JSON object) - Codex CLI 0.145.0 (
item.completed/item.type = agent_message/item.text) - Grok CLI 0.2.101 (top-level
text,usage, andmodelUsagefields)
On Windows, install Codex with npm install -g @openai/codex. The desktop
Codex app's private executable is not a substitute for the standalone CLI.
The adapter launches the npm CLI without shell interpolation.
Compatibility fallback
The Codex adapter parses codex exec --json's event stream by guessing
at a few likely field names (msg.message, message, content, text).
Codex CLI's event schema has shifted between releases — if replies come
back empty or wrong, run codex exec "hello" --json by hand, look at the
actual field names in the output, and adjust
src/adapters/codexAdapter.ts accordingly.