One desk.Every coding agent.
Switchdesk is a Cursor-style editor for the agents you already pay for. It runs Claude Code, Codex, GitHub Copilot, Cursor, Kimi, Gemini, Qwen and DeepSeek through each maker's own CLI, signed in with your own plan or key. Switch agents in the middle of a task and keep going.
Free · Windows · Mac (Apple Silicon) · Mac (Intel) · Linux
import { now } from "⟦shared-lib⟧/clock"; const WINDOW_MS = 60_000;const LIMIT = 100;const LIMIT = Number(process.env.RATE_LIMIT ?? 100);const hits = new Map<string, number[]>(); export function allow(ip: string): boolean { const cutoff = now() - WINDOW_MS; const list = hits.get(ip) || []; const list = (hits.get(ip) ?? []).filter(t => t > cutoff); if (list.length >= LIMIT) return false; list.push(now()); hits.set(ip, list); return true;}
Your plans and keys. Their own CLIs.
Every chat runs the agent maker's own, unmodified command-line tool on your machine. Pick the agent per chat from the menu in the chat box, and switch whenever you like. The conversation carries on.
| Agent | Signs in with | What Switchdesk runs |
|---|---|---|
| Claude Code | plan Your Claude plan, with several accounts side by side | claude -p --input-format stream-json |
| Codex | plan Your ChatGPT plan, or an OpenAI API key | codex app-server |
| GitHub Copilot | plan Your GitHub Copilot plan, through copilot login | copilot --acp |
| Cursor | plan Your Cursor plan, through agent login | agent acp |
| Kimi | plan Your Kimi Code membership | kimi acp |
| Gemini | key Your Gemini API key | gemini --acp |
| Qwen | key Your Alibaba Cloud API key | qwen --acp |
| DeepSeek | key Your DeepSeek API key, through Qwen Code | qwen --acp |
Settings → Agents installs each CLI and signs it in, in the app's own terminal, so you see exactly what runs. Qwen Code takes any OpenAI-compatible address, so other providers work too. Switchdesk isn't made by or affiliated with any of these companies.
Decide how much it can touch.
Ask READ ONLY
Answers questions about your code and never edits a file. Commands that only look, like ls or git log, run without asking.
Plan THINK FIRST
Researches, then opens the plan as a document in its own tab, with every agent. Edit it, then choose Build it or Keep planning.
Agent HANDS ON
Edits files without asking. Commands run by your rules, and anything else gets an Allow, Always allow or Deny card.
Debug FIND THE CAUSE
Adds temporary logging, asks you to reproduce the bug, then fixes the cause from the logs and cleans up. Works with every agent.
Auto CLAUDE
Claude Code's auto mode. A safety classifier approves actions and sends you anything it won't.
Cycle modes with Ctrl . or Shift Tab in the chat box.
An editor built around reviewing what agents do.
See every change
Nothing an agent does is hidden or permanent until you say so.
Changes card after each turn
Every file the turn changed, including ones changed by shell commands, with +/− counts, a diff and Undo per file.
Inline review
Edits appear in the editor in green and red, each with its own Keep and Undo, plus a side-by-side Compare.
Rewind, with any agent
Go back to just before any message you sent, edit it and resend. Your files can go back too.
A full Git panel
Commit with a ✨ written message, resolve merge conflicts, see blame and history, and draft pull request descriptions.
Mix agents freely
Use the best agent for each step without starting over.
Hand a chat to another agent
Switch agents mid-chat and the new one gets the conversation so far, so it carries on where the last one left off.
One set of rules
Keep your project rules in one AGENTS.md. Switchdesk points CLAUDE.md at it and hands it to agents that don't read it themselves.
One set of permissions
Allowed and blocked commands, and Always allow, apply to all eight agents, so you never approve the same thing twice.
Commands that travel
A slash command you wrote for Claude, Codex, Cursor or Copilot works with every agent, plus /init, /review and /compact.
History from every agent
Past chats from Claude Code, Codex, Copilot, Gemini, Qwen and DeepSeek, each tagged with its agent, including ones started in your terminal.
Several accounts per agent
A work and a personal sign-in for Claude, Codex, Copilot, Cursor or Kimi, or a second API key for the rest. Switch any chat between them.
Run more at once
Several agents, several projects, one window each.
Parallel agents
A chat that works in its own git worktree. Run several, then Merge into my folder for inline review, or discard.
Several windows
Each window has its own project, chats, agents and terminals. After a restart or update they all reopen where they were.
Multi-folder workspaces
Add a shared library or the backend to the window. Every agent can read and change all of them.
Queue and steer
Type while it works and the message waits its turn. Press Enter again to interrupt and steer mid-task.
Give it the right context
Point the agent at exactly what matters.
@codebase
Finds the parts of the project your message is about and attaches them. The search model runs on your computer.
@ anything else
A file, folder, web page, your uncommitted changes or terminal output. Ctrl L adds the selection.
Attach documents
Word, PDF, Excel and PowerPoint files go to the agent as text, with headings, tables, sheets and slides kept.
Command palette
Ctrl Shift P finds every command, settings page, agent, account and recent folder as you type.
A real code editor
For the moments you'd rather write the code yourself.
Tab autocomplete
Grey suggestions as you type, accepted with Tab. It runs GitHub's Copilot language server (Copilot Free works) or your DeepSeek or Qwen key.
Code intelligence
Go to definition, hover, completions, find references and errors as you type for TypeScript, JavaScript, Python, Go, Rust and C/C++.
Run and debug
Breakpoints, the call stack, variables, watches and a console for Node and Python. ✨ Ask the agent hands it the stop.
Split and compare
Two files side by side with Ctrl \, and a diff of any two files, or a file and your clipboard.
Search by meaning
Search for "where do we retry failed payments" and find the code that does it, whatever it's called.
Run tests in the editor
Run test buttons above Vitest, Jest, Mocha, node --test, pytest and unittest tests, with ✓ or ✗ on each line.
Fix with the agent
The lightbulb on any error, warning or failed test hands it to the chat. Fix all does the whole file.
Monaco editor
The VS Code editor with tabs, quick open, regex search in files, and light or dark themes.
The rest of the desk
The tools you'd otherwise keep in other windows.
Terminal with Fix with Claude
A real terminal per project. When a command prints an error, one click sends it to the agent.
Live preview
Your site in a tab beside the code. Pick an element on the page and attach it, with a screenshot, to the chat.
Plan limits at a glance
A status bar meter shows how much of the 5-hour and weekly limits you've used, and Usage breaks it down by agent and account.
Your shortcuts
Change any keyboard shortcut by pressing the new keys. The menus and the command palette show your choice.
Picks up where you left off
Reopen a folder and your files, chats, place in each file, split editor and half-written message come back.
Updates itself
On Windows and Linux, new versions download in the background and install with one click. On a Mac, the status bar tells you when one is out.
Switchdesk never sees your password.
You sign in with each maker
Logins happen in each vendor's own CLI. API keys are encrypted with your operating system's keychain.
Unmodified CLIs
Switchdesk drives the same tools you'd run in a terminal, through the protocols their makers provide for editors.
No account, no telemetry server
There's nothing to sign up for. The app talks only to the agents and services you choose, and to GitHub for updates.
Readable.
Yours.
Switchdesk is MIT licensed and built in the open on GitHub. Read how every agent is driven, file an issue, or send a pull request.
$ git clone https://github.com/SlaterMarketing/switchdesk $ cd switchdesk $ npm install $ npm start # build your own installer $ npm run dist:mac # or dist:win, dist:linux
Good to know
Does it cost anything?
No. Switchdesk is free and MIT licensed. You use the plans and API keys you already have with each agent's maker, and they bill you as they normally would.
Which systems does it run on?
Windows 10 and 11, macOS on Apple Silicon or Intel, and Linux as an AppImage. Every release has all of them, or you can run it from source anywhere Node runs.
My computer warns me about the installer. Is that normal?
Yes. The installers aren't code-signed yet, because that needs paid certificates. On Windows, click More info, then Run anyway. On a Mac, right-click the app and choose Open, or use Open Anyway in System Settings → Privacy & Security.
Can I switch agents in the middle of a chat?
Yes. Pick another agent or Claude account from the menu in the chat box. The new agent gets the conversation so far and carries on where the last one left off, and your files stay as they were.
Is it affiliated with Anthropic, OpenAI, GitHub or Cursor?
No. Switchdesk is an independent project. It isn't made by or affiliated with Anthropic, OpenAI, GitHub, Anysphere, Moonshot, Google, Alibaba or DeepSeek. It runs their official CLIs, which you install and sign in to yourself.
Does it have Tab autocomplete?
Yes. It runs GitHub's own Copilot language server signed in with your GitHub account, and Copilot Free works. You can use your DeepSeek or Qwen API key instead. Pick the engine in Settings → Autocomplete.
Was this called Claude Desk?
Yes. It was renamed Switchdesk in version 0.8, when it grew beyond Claude Code. Existing installs update on their own.
Can I share it with my team on my plan?
Each person should sign in with their own plan or API key. That's how the agents' terms expect them to be used, and it's how Switchdesk is designed.
Pick an agent.
Switch any time.
Download Switchdesk for Windows, Mac or Linux, or run it from source anywhere Node runs.