Swap Claude Code accounts
in one keystroke.
Snapshot each login as a named profile, then switch in place. No browser, no re-login.
macOS · Linux · Windows · single binary
drive the Claude Code harness with any of these
- Anthropic
- OpenRouter
- Ollama
- z.ai
- DeepSeek
- Moonshot
Built for two kinds of heavy user
One keeps hitting Claude's usage cap. The other wants different models behind the same harness.
the rate-limited
You hit the usage cap mid-session.
So you keep a second subscription for exactly that moment. Yoink re-snapshots the live token before each switch (Claude Code refreshes it silently), turning a browser round-trip into a two-second command.
$ claude
⚠ usage limit reached, resets in 2h 14m
$ yoink work
✔ switched to work (work@company.com)
$ claude
fresh window. back to it.
the model operator
You'd rather run GLM or a local model.
Yoink registers any Anthropic-compatible endpoint as a profile: it validates the key against /v1/models, hands you a searchable catalog, and manages the env overrides Claude Code reads.
- ●z-ai/glm-4.7selected
- ○z-ai/glm-4.7-air
- ○z-ai/glm-4.6
- ○thudm/glm-4-9b
Three moves per switch
The same three ordered writes every time, against the files Claude Code already manages. Nothing hidden.
- 1credential store
Re-snapshot the live login
Claude Code refreshes tokens in the background. Yoink folds the live one back in first, so nothing is lost.
read·Keychain on macOS · ~/.claude/.credentials.json elsewhere - 2~/.claude.json
Write the target credentials
The target blob returns to the credential store (Keychain on macOS, credentials file on Linux and Windows), its oauthAccount identity to ~/.claude.json. Atomic writes, owner-only.
write·~/.claude.json → oauthAccount - 3~/.claude/settings.json
Reconcile the env block
A Claude account clears the seven ANTHROPIC_* overrides; an external provider writes them. Nothing else changes.
write·~/.claude/settings.json → env
Small tool, sharp edges filed down
A menu you drive by keyboard
Bare yoink lists every profile. One key per action, and every action loops back to the list.
One compiled binary
bun build --compile bakes the CLI, deps, and runtime into one file.
It won't leak a token into git
It offers a .gitignore entry before writing a key, and warns when settings.json is tracked.
Every write is atomic
Temp file, then rename. You never get a half-written store, and secrets stay at chmod 600.
One harness, any backend
Yoink points Claude Code at any Anthropic-compatible endpoint, OpenRouter, Ollama, GLM, anything that answers /v1/models.
It writes only seven ANTHROPIC_* keys into settings.json. Everything else in the file stays intact.
Stop re-logging in.
Register each account once, then switch from your menu bar or your terminal. Same profiles, same keystroke, two ways in.
One click from the macOS menu bar. No terminal, no re-login.
Notarized by Apple macOS 12+ v0.1.5
One line in your shell. macOS, Linux, and Windows.
$ curl -fsSL https://yoink.codes/install.sh | bash