See how much is left on each Claude Code and Codex subscription account you own (Claude Pro / Max, ChatGPT Plus / Pro…), get told which one to use when the current one runs low, and switch with one click from a VS Code sidebar, without signing out and back in. Built for VS Code WSL remote windows, native Windows and macOS; local Linux desktops and other remote windows work too.
- Usage limits on every card: what is left (or used) of each limit and when it resets, checked automatically or on demand.
- Status bar summary:
Claude 97% · Codex 82%, turning yellow or red when a limit runs low. - Low-limit notifications: a notice when the current account's 5-hour or 7-day limit has 20% or less left; the threshold is adjustable.
- Recommended account: when the current account runs low, a card above the list names the signed-in account with the most left, with its limits and how long ago they were checked.
- Switch or open a terminal: switch to it from the card, or open a terminal running the CLI as that account without switching.
- Your choice of candidates: keep an account, such as a work account, out of the recommendations.
- One sidebar, two tabs: Claude and Codex accounts side by side, each with its email and plan.
- Your own order: drag the cards into the order you want (the current account stays first); it is kept for every editor on the same machine or WSL distribution.
- Stay signed in everywhere: sign in once per account, then switch with one click.
- Linked or independent accounts: share the default account's setup and history, or keep them separate.
- API cards: run Claude Code or Codex against another AI service, such as DeepSeek, Kimi, OpenRouter or Ollama, set up entirely in the sidebar and switched like any account (Claude, Codex).
- Tools: open your rules file and the official extension's settings, update the CLI, check linked accounts and repair their links.
- Six languages: English, Simplified Chinese, Traditional Chinese, Spanish, Japanese and Korean.
Every setting is listed in the user guide.
- A VS Code 1.107+ compatible editor: VS Code, Antigravity IDE or VSCodium, in a WSL remote window, on native Windows, on macOS, on a local Linux desktop or in another remote window.
- The official Claude Code and/or Codex extension installed where the window runs.
- Optional: the
claudeand/orcodexcommand on the PATH there. Without it, terminal sign-in and usage checks use the CLI bundled with the corresponding official extension. - For Codex switching on WSL and Linux: Bash as the login shell; on macOS: zsh or bash.
- For Codex switching in a VS Code or VSCodium WSL window: the extension that connects the window reads the PlanSwap block in that editor's
server-env-setupbefore its WSL server starts, so each editor keeps its own Codex selection. VS Code uses Microsoft's Remote - WSL; VSCodium needs the wsl-remote extension (n2ns.wsl-remote).
A Claude switch applies to new sessions; reload the window to move open panels over. A Codex switch needs a restart:
| Environment | After switching a Codex account |
|---|---|
| Antigravity IDE or VSCodium in WSL | PlanSwap restarts the WSL server after you confirm; reload each disconnected window. VSCodium connects through the wsl-remote extension. |
| VS Code in WSL | Close all VS Code windows of that distribution, then reopen them. |
| Native Windows | Fully quit the editor and start it again from the Start menu or taskbar. |
| macOS | Fully quit the editor (⌘Q) and open it again from the Dock, Launchpad or Finder. |
| Local Linux or other remote windows | Restart the editor or remote server as PlanSwap's instructions show. |
Save your work before switching Codex accounts: the restart closes integrated terminals and running CLI sessions. Step-by-step instructions: user guide.
Search for PlanSwap in the Extensions view of a WSL window (the extension runs on the WSL side), a local Windows window or a macOS window, and click Install.
- VS Code: Visual Studio Marketplace
- Antigravity IDE, VSCodium: Open VSX
With a downloaded .vsix file, run Extensions: Install from VSIX... in the same kind of window instead.
Open PlanSwap in the activity bar. The default row is your existing account.
Claude
- Click + (Add account), type a name and press Enter. Keep Linked to the default account (recommended) selected to reuse your setup, or choose Independent to keep it separate.
- Click the row's Log in button and sign in in the terminal.
- Click the Switch to this account arrow icon and confirm.
Codex
- On the Codex tab, click Enable Codex switching and confirm.
- Add an account and sign in, as for Claude.
- Switch to it and follow the restart steps for your environment.
Signing in to a new account never signs out the others. The user guide covers every step in detail.
| Linked | Independent | |
|---|---|---|
| Settings, rules and skills | The default account's | A copy, changed separately |
| History and sessions | The default account's | Its own |
| Sign-in | Its own | Its own |
| Claude MCP servers, MCP sign-ins and project trust | Kept in sync with the default account, in both directions, when you switch | A copy of the servers, changed separately; its own sign-ins |
You can change an account's mode later, and Re-link in Tools checks linked accounts after you change the default setup and offers Repair for what it finds. PlanSwap also runs this check in the background, adds the default account's MCP servers that a linked Claude account lacks, and notifies you when something else can be repaired (user guide).
- Open sessions keep their account until you reload (Claude) or restart (Codex).
- Switching is not per window: other windows of the same editor switch too.
- Continuing another account's session can fail, especially between Codex accounts in different ChatGPT organizations.
- Some sign-ins apply to every account, such as an
ANTHROPIC_API_KEYin the environment; PlanSwap warns you (details). - On macOS, linked Claude accounts do not share sign-ins to OAuth MCP servers, which Claude Code keeps in the Keychain; sign in to such servers in each account. Codex switching follows the login shell's startup file, so a slow shell setup can keep the editor from picking it up, and the Codex and Claude desktop apps do not follow it (details).
- On Windows, linking single files needs Developer Mode, and Codex thread databases stay per account (details). While the Codex extension runs Codex inside WSL (
chatgpt.runCodexInWindowsSubsystemForLinux), manage Codex accounts from a WSL window (details). - Not yet verified everywhere: switching and usage limits have been tested end to end with real accounts in Antigravity IDE, VS Code and VSCodium in WSL, on native Windows and on a local Linux desktop. In VS Code on macOS (Intel, zsh), Claude accounts were tested end to end with a real account, and Codex switching without a Codex sign-in. Other remote windows have not been tested with real accounts.
- API cards (DeepSeek, OpenRouter, Z.ai, Kimi, xAI, Ollama, LM Studio or a custom Responses endpoint such as a LiteLLM gateway) use independent Codex configuration and do not provide per-window backend isolation. Real-client acceptance is partly pending; see the guide and TODO.
- Claude API cards (DeepSeek, Kimi, OpenRouter, Z.ai, Ollama or a custom Anthropic-compatible endpoint) run Claude Code against another service; Anthropic does not support Claude Code with non-Claude models, and acceptance with real services is pending (guide, TODO).
PlanSwap has no telemetry. Its only network requests of its own are model lists for API cards (GET <endpoint>/models): after the editor starts, without any key, for OpenRouter and for Ollama and LM Studio on this machine; and from an API card form, to the endpoint you chose with the key you entered, when no saved list covers it. Usage limits are read through the official claude and codex CLIs, which contact their own services as usual. When Claude usage is unavailable, a minimal official CLI model request can check subscription access; it may consume a small amount of quota. PlanSwap never copies, moves or sends your Claude or Codex sign-in; between linked Claude accounts it syncs only the sign-ins to MCP servers, and it changes your shell or environment configuration only after you confirm (afterwards it keeps the blocks it added up to date). Details: privacy.
API keys entered for API cards are saved in plaintext in each card's own Codex configuration or Claude settings.json. Codex or Claude Code sends those cards' model requests directly to the card's service; PlanSwap does not proxy requests or check subscription quotas for them.
Before uninstalling PlanSwap:
- Switch Claude back to
defaultand reload the window. - If you enabled Codex switching, run Codex Account: Disable Codex Account Switching from the Command Palette to remove its shell configuration and the blocks in each editor's
server-env-setup(on Windows, the user environment variableCODEX_HOME; on macOS, the block in your shell startup file). - Uninstall PlanSwap from the Extensions view in the window where you installed it (WSL, Windows or macOS).
Your account directories (~/.claude-<name> and ~/.codex-<name>) are kept, including the .planswap-sync.json file of each linked Claude account. To clear PlanSwap's saved account list, display names and usage records as well, delete ~/.config/planswap/state.json. This does not delete the accounts' own files.
- User guide: step-by-step account setup, switching, usage limits, tools and troubleshooting.
- Privacy: what PlanSwap reads, stores, changes and sends.
- Changelog: changes in each release.
- Blog post: why PlanSwap exists and how it switches accounts without copying or swapping credentials.
The feature reference describes the detailed behavior of accounts, switching and panel tools. Building, testing and packaging are covered in development.
PlanSwap is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic or OpenAI.
Built by N2NS Lab, the open-source lab of datafrog.io for practical AI developer tools.


