Yoink for AI coding
Every AI coding login and provider, in one place.
Yoink is an open source (MIT) CLI for macOS, Linux and Windows, plus a macOS menu bar app. It switches Claude Code accounts, swaps ChatGPT (Codex), Kimi Code, Gemini and GitHub Copilot logins inside their own tools, and connects API-key providers like OpenAI, OpenRouter, Kimi, DeepSeek, z.ai, Ollama or any compatible endpoint to 13 coding harnesses.
curl -fsSL https://yoink.codes/install.sh | bashSwitched to codex-personal (sara@haddad.example · plus). Restart Codex to pick up the new login.
Tools and providers yoink works with
Switch
Hit the cap? Be on another account.
Save each Claude, Codex, Kimi, Gemini or Copilot login once. A switch re-snapshots the active login first, so a refreshed token is never lost.
- codex-worksara.haddad@lumenlabs.example · team
- codex-personalsara@haddad.example · plus(active)
- Re-capture ~/.codex/auth.json (or the Codex keyring entry) into codex-work
- Restore ~/.codex/auth.json (or the Codex keyring entry) from codex-personal
- Switched to codex-personal (sara@haddad.example · plus)
- Restart Codex to pick up the new login.
ChatGPT (Codex) switched to codex-personal. Restart Codex to pick up the new login. ChatGPT (Codex): codex-personal (sara@haddad.example · plus), active. Enter switches. ChatGPT (Codex) not running.
One key. Thirteen harnesses.
Add an API key once, pick its models, and tick the coding tools it should reach. yoink writes each tool's own config file.
- ProviderA preset like OpenRouter or DeepSeek, or a custom base URL.
- API keyTyped into a hidden input and stored once.
- ModelsSearch the live model list and select as many as you like.
- HarnessesTick the installed tools to connect and pick their default model.
Connected pi, opencode, Qwen Code. Restart running harnesses to pick up the change.
- Enteredit models
Same profiles. Terminal or menu bar.
The yoink CLI runs on macOS, Linux and Windows. The macOS menu bar app switches Claude accounts and adds providers from the same profiles.
Switched to codex-personal (sara@haddad.example · plus). Restart Codex to pick up the new login.
Back to profiles. fuse keeps its harnesses.
- ↑↓navigate
- Enteropen
- abcsearch
Project status
Built in the open under the MIT license: yoink-cli was downloaded 34 times from npm last month, the repo has 4 stars on GitHub, and the latest CLI release is v0.6.6.
Star on GitHubSafety
Touches seven keys. Leaves yours alone.
Connecting a provider to Claude Code writes seven env keys. Switching back strips exactly those seven, and every other key stays put.
Files yoink touches
- ~/.config/yoink/profiles.json0600
Saved Claude logins and providers
- ~/.config/yoink/subscriptions.json0600
Codex, Kimi, Gemini and Copilot snapshots
- Keychain: Claude Code-credentialssecurity CLI
Live Claude Code login on macOS
- ~/.claude/.credentials.jsonowner-only
Live Claude Code login on Linux (0600) and Windows (user ACLs)
- ~/.claude.jsonatomic
The oauthAccount identity block
- ~/.claude/settings.json7 keys
The managed env block for a provider
- ./.claude/settings.local.json7 keys
The same env block for one project only
- ./.gitignoreasks
Offers to ignore settings.local.json first
- Harness configsatomic
Provider entries for pi, omp, opencode, codex and the other harnesses
- <harness config>.yoink.bakonce
Backup before the first change
- ~/.codex/auth.jsonon switch
Live Codex login, rewritten only when you switch Codex
- ~/.kimi-code/credentials/on switch
Live Kimi login, rewritten only when you switch Kimi
- ~/.gemini/oauth_creds.jsonon switch
Live Gemini login, rewritten only when you switch Gemini
- ~/.gemini/google_accounts.jsonon switch
Active Google account for Gemini, rewritten only when you switch Gemini
- ~/.copilot/config.jsonon switch
Live Copilot login, rewritten only when you switch Copilot
- Keychain: Codex Authon switch
Live Codex login on macOS when Codex uses the keyring
- ~/.config/yoink/cache/models-dev.jsoncache
Cached models.dev catalog, refreshed daily
7 managed keys added. 3 of your keys unchanged.
Install in one line.
On macOS and Linux, the install script downloads the binary for your OS, verifies its SHA-256 checksum when the release ships one and installs it to /usr/local/bin or ~/.local/bin.
curl -fsSL https://yoink.codes/install.sh | bashDownloads the binary for your OS and architecture from the latest GitHub release, verifies its SHA-256 checksum when the release ships one and installs it to /usr/local/bin or ~/.local/bin.
Requirements: Apple Silicon and Intel. The menu bar app needs macOS 12 or later.
Then check that it is on your PATH:
yoink versionStop logging in and out.
Save each login and API key once. Switch logins with Enter in the yoink menu, and connect keys from the same list.
curl -fsSL https://yoink.codes/install.sh | bash