Yoink documentation
Switch accounts, connect providers and see exactly what yoink writes. Guides are rendered from the Markdown in the repo's docs/ folder.
Start
- Getting started
Install yoink on macOS, Linux or Windows with one command or npm i -g yoink-cli, save your work and personal Claude Code logins, and switch with yoink work.
- Desktop app
The Yoink menu bar app for macOS switches Claude Code accounts, saves the current login, adds API-key providers and ticks the coding agents they connect to.
Switch
- Interactive menu
Run yoink with no arguments to open a keyboard menu: move with j and k, switch with Enter, and add, edit, save or delete Claude, Codex or provider profiles.
- Subscriptions
Save and switch ChatGPT (Codex), Kimi Code, Gemini and GitHub Copilot logins with yoink, each inside its own tool, with the live login re-saved first.
Connect
- Providers
Add an API key once with yoink, from a preset (OpenAI, Kimi, OpenRouter, DeepSeek, z.ai, Ollama) or any compatible URL it probes, and pick its models.
- Harnesses
What yoink writes into pi, omp, opencode, codex, Claude Code, Qwen Code, Kilo, Droid, Crush, Continue, Goose, Zed and Claude Desktop: paths and keys.
Understand
- How it works
How yoink switches Claude Code accounts: the Keychain entry or .credentials.json, the oauthAccount block in ~/.claude.json, and the re-snapshot step first.
- Security
Atomic owner-only writes, kept symlinks, one-time backups, seven managed Claude Code keys, a git-tracked config guard, and keys passed on stdin, never argv.
Reference
- Usage
Every yoink command with worked examples: switch Claude Code accounts, save Codex logins, connect a provider to opencode, and script it all with --json.
- CLI reference
One card per command with its flags, aliases and an example, plus the menu keymap and the tool, harness and preset ids.
Guides
- Switch between Claude Code accounts
Keep a work and a personal Claude Code account and switch in one command. yoink swaps the Keychain entry or .credentials.json and the oauthAccount block.
- Switch between Codex (ChatGPT) accounts
Save several ChatGPT logins for Codex and switch between them. yoink swaps auth.json or the Codex Auth Keychain entry and re-saves the live login first.
- Switch between Gemini CLI accounts
Save more than one Google login for Gemini CLI and switch between them. yoink swaps oauth_creds.json and google_accounts.json and refuses encrypted storage.
- Switch between GitHub Copilot CLI accounts
Switch the GitHub account Copilot CLI uses. yoink rewrites only last_logged_in_user in config.json and warns when GH_TOKEN or GITHUB_TOKEN overrides it.
- Switch between Kimi Code accounts
Kimi Code will not add a second account while one is signed in. yoink saves the current login, moves it aside for kimi login, and switches between both.
- Use OpenRouter, Kimi, DeepSeek or z.ai in Claude Code
Point Claude Code at OpenRouter, Kimi, Moonshot, DeepSeek or z.ai and switch back to your subscription in one command. yoink writes and strips 7 env keys.
- One API key in every coding agent
Add an API key once and yoink writes it into the native config of up to 13 coding agents: pi, opencode, codex, Claude Code, Qwen Code, Crush and more.
- Import the providers you already configured
yoink import reads pi, opencode, codex, Crush and other harness configs, merges the same key and URL into one provider, and keeps every harness in sync after.
- A different Claude Code provider for one project
Point one repo's Claude Code at OpenRouter or DeepSeek while the rest of your machine keeps your subscription. yoink writes a gitignored settings.local.json.
- Connect a custom OpenAI- or Anthropic-compatible provider
Paste a base URL and key, and yoink probes /v1/models, /v1/messages, /chat/completions and /responses to find what a gateway or vLLM server speaks.
Harnesses
- Use any provider in pi
Connect any OpenAI- or Anthropic-compatible provider to pi. yoink writes ~/.pi/agent/models.json with model limits from models.dev and sets the default.
- Use any provider in omp
Connect a provider to omp. yoink writes ~/.omp/agent/models.yml (or models.yaml), carries over a legacy models.json and sets modelRoles.default in config.yml.
- Use any provider in opencode
Connect OpenRouter, DeepSeek, Ollama or any compatible API to opencode. yoink edits opencode.json or .jsonc in place, keeping your comments and formatting.
- Use a custom provider in Codex CLI
yoink writes a [model_providers] table into ~/.codex/config.toml with wire_api = "responses". Codex needs a Responses endpoint, so few presets fit.
- Use a custom provider in Claude Code
What yoink writes into ~/.claude/settings.json to point Claude Code at another Anthropic-compatible API, and how it restores your Claude login after.
- Use any provider in Qwen Code
Connect a provider to Qwen Code. yoink adds modelProviders entries to ~/.qwen/settings.json and stores the key once as YOINK_<PROVIDER>_API_KEY in env.
- Use any provider in Kilo Code
Kilo Code is an opencode fork, so yoink writes the same provider entry into ~/.config/kilo/kilo.json or kilo.jsonc, in place, and sets the default model.
- Use any provider in Droid
yoink appends your provider's models to customModels in ~/.factory/settings.json, tagged with [provider] in the name. Pick the model inside Droid.
- Use any provider in Crush
yoink writes providers.<id> into ~/.config/crush/crush.json with type openai-compat or anthropic and sets models.large. It warns if a crushrc overrides it.
- Use any provider in Goose
yoink writes custom_providers/custom_<id>.json for Goose and sets GOOSE_PROVIDER and GOOSE_MODEL. Where the key goes depends on GOOSE_DISABLE_KEYRING.
- Use any provider in Zed
yoink adds your provider to language_models in Zed's settings.json, keeping comments, and sets agent.default_model. Zed reads the key from env.
- Use any provider in Continue
yoink adds one model entry per model to ~/.continue/config.yaml with apiBase and apiKey, creates the file if missing, and keeps your YAML comments.
- Use a third-party provider in Claude Desktop
yoink writes a Claude-3p configLibrary file with your gateway URL and models. Then select it under Developer, Configure third-party inference.
Providers
- Use an OpenAI API key in your coding agents
The openai preset has a Responses endpoint, so it is the one preset that reaches Codex. yoink writes it to 11 agents; Claude Code needs Anthropic Messages.
- Use a Kimi Code API key in your coding agents
The kimi-code preset points Claude Code at api.kimi.com/coding and opencode, pi or Crush at api.kimi.com/coding/v1. Distinct from switching Kimi logins.
- Use the Moonshot AI API in your coding agents
Connect a Moonshot AI platform key to Claude Code via api.moonshot.ai/anthropic, and to opencode, pi, Qwen Code or Crush via api.moonshot.ai/v1.
- Use OpenRouter in your coding agents
Add your OpenRouter key once and yoink writes it into Claude Code, opencode, pi, Qwen Code, Crush and 7 more. Codex is not supported: no Responses endpoint.
- Use DeepSeek in your coding agents
Connect a DeepSeek API key to 12 coding agents with yoink. Claude Code uses api.deepseek.com/anthropic; opencode, pi and Crush use the OpenAI-style /v1.
- Use z.ai in your coding agents
Add a z.ai key once: yoink uses api.z.ai/api/anthropic for Claude Code and api.z.ai/api/paas/v4 for opencode, pi, Qwen Code, Crush and more.
- Use Ollama in your coding agents
The ollama preset points 10 coding agents at http://localhost:11434/v1. Codex, Claude Code and Claude Desktop need other protocols, so they are not offered.
Compare
- Claude Code account switchers compared
An honest comparison of claude-swap, clauth, swapdex, Claude Switcher, CCSwitcher and yoink: platforms, other tools, usage display, auto-switch, license.
- yoink vs claude-swap
claude-swap is a Claude-only switcher with usage tracking and auto-rotation. yoink adds Codex, Kimi, Gemini and Copilot logins and providers in 13 agents.
- yoink vs CC Switch
CC Switch is a GUI-first desktop app with a routing proxy and many presets. yoink is a terminal-first CLI that writes native configs for 13 coding agents.
- yoink vs clauth
clauth is a deep Claude Code account manager with usage bars, auto-switch and parallel sessions. yoink is broader: five vendors' logins plus API keys.
- yoink vs Claude Code Router
Claude Code Router is a local gateway that routes agents' requests to the providers you pick. yoink writes provider keys into each agent's config instead.