Yoink CLI reference
Every command the yoink binary accepts, grouped by what it works on. For walkthroughs and longer examples, see Usage.
On this page
20 commands
Accounts
Open the menu, add, switch, list and manage saved profiles.
Open the interactive account menu, grouped by tool.
yoinkSwitch straight to a saved profile. Any unrecognized argument is treated as a profile name.
yoink workyoink add
Aliaseslogin
Add a Claude account, a Codex, Kimi, Gemini or Copilot login, or an API-key provider. Interactive unless provider flags are passed.
- --external
- Add a provider without prompts.
- --name <id>
- Profile id for the provider.
- --preset <p>
- Use a built-in preset's endpoints.
- --base-url <u>
- Base URL of a custom provider.
- --protocol <p,...>
- Protocols the base URL speaks.
- --endpoint <p>=<url>,...
- One base URL per protocol, instead of --base-url.
- --models <m,...>
- Models the provider exposes.
- --connect <h,...>
- Harnesses to connect right away.
- --default <m>
- Default model in the connected harnesses.
- --provider <p>
- Display name of the provider.
- --model <m>
- Single model, for the legacy Claude Code provider form.
- --token-stdin
- Read the API key from stdin, so it never lands in shell history.
- --allow-tracked
- Write the key into a harness config even when that file is tracked in a git repository.
echo "$FUSE_API_KEY" | yoink add --external --name fuse --base-url https://api.fuse.example/v1 --models claude-sonnet-4-5 --connect pi,opencode --token-stdinEdit a profile: rename a Claude account, or change a provider's harnesses, models, id, display name, API key or endpoints.
- --name <n>
- New profile id.
- --provider <p>
- New display name.
- --base-url <u>
- New base URL.
- --model <m>
- New model.
- --token-stdin
- Read the API key from stdin, so it never lands in shell history.
yoink edit fuse --name fuse-workyoink use <name>
Aliasesswitch
Switch to a saved profile inside its own tool. If the tool is running it asks first, and from a script it refuses a subscription switch unless --force. No-ops if already active.
- --force
- Switch even when the tool is running.
yoink use personalyoink list
Aliaseslsaccounts
List all saved profiles grouped by tool, marking the active one in each group.
- --json
- Print machine-readable JSON for scripts.
yoink list --jsonRename a profile. A provider is renamed in every harness too.
yoink rename temp scratchyoink remove <name>
Aliasesrm
Delete a profile. A provider is disconnected from every harness first.
yoink remove scratchNo matching commands
Providers and harnesses
Store an API key once and keep it in sync across the harnesses you connect.
Connect a provider to harnesses. Without --to it opens a picker.
- --to <h,...>
- Harness ids to connect, skipping the picker.
- --default <m>
- Default model in those harnesses.
- --allow-tracked
- Write the key into a harness config even when that file is tracked in a git repository.
yoink connect fuse --to ompRemove a provider from harnesses, or from every harness it is in.
- --from <h,...>
- Harness ids to disconnect from.
yoink disconnect fuse --from opencodeChoose which models a provider exposes, then re-sync its harnesses.
- --set <m,...>
- Model ids to keep, skipping the picker.
yoink models fuse --set claude-sonnet-4-5,gpt-5.2Show detected harnesses, their config paths and their providers.
- --json
- Print machine-readable JSON for scripts.
yoink harnesses --jsonImport providers already configured in your harnesses.
- --yes
- Import without prompting.
yoink import --yesShow each harness for a provider: installed, compatible and connected.
- --json
- Print machine-readable JSON for scripts.
yoink status fuseList the built-in provider presets.
- --json
- Print machine-readable JSON for scripts.
yoink presets --jsonDetect a provider's endpoints and models, with the API key on stdin.
- --base-url <u>
- Base URL to probe.
- --preset <p>
- Preset to probe instead of a base URL.
- --token-stdin
- Read the API key from stdin, so it never lands in shell history.
- --json
- Print machine-readable JSON for scripts.
echo "$FUSE_API_KEY" | yoink probe --base-url https://api.fuse.example/v1 --token-stdin --jsonNo matching commands
Subscriptions
Save and inspect ChatGPT (Codex), Kimi Code, Gemini and GitHub Copilot logins with --tool.
Snapshot the current live login as a profile. Claude Code by default, another tool with --tool.
- --tool <tool>
- Tool whose login to snapshot.
yoink save codex-work --tool codexyoink current
Aliaseswho
Show the active profile for Claude Code and each subscription tool.
- --tool <tool>
- Show one tool only.
- --json
- Print machine-readable JSON for scripts.
yoink current --tool geminiNo matching commands
Info
Help and version output.
yoink help
Aliases-h--help
Print help.
yoink helpyoink version
Aliases-v--version
Print the version.
yoink versionNo matching commands
Menu keymap
Keys handled by the interactive menu that opens when you run yoink with no arguments.
- ↑↓jk
- Move the highlight. It wraps at the top and bottom.
- Enter
- Switch to the highlighted login within its own tool. On a provider row, open its harness picker.
- n
- Add a new account or API-key provider.
- e
- Edit the highlighted profile.
- s
- Save the current live login as a new profile.
- d
- Delete the highlighted profile, after a confirmation.
- qEscCtrl-C
- Quit.
Tool ids
Values for --tool on yoink save and yoink current. Each tool keeps its own active login.
- claudeClaude Code
- codexChatGPT (Codex)
- kimiKimi Code
- geminiGemini
- copilotGitHub Copilot
Harness ids
Values for --connect, --to and --from, with the protocols each harness can speak.
- claude-codeClaude Code
- anthropic-messages
- pipi
- openai-chat
- openai-responses
- anthropic-messages
- ompomp
- openai-chat
- openai-responses
- anthropic-messages
- opencodeopencode
- openai-chat
- anthropic-messages
- openai-responses
- codexcodex
- openai-responses
- qwenQwen Code
- openai-chat
- openai-responses
- anthropic-messages
- kiloKilo Code
- openai-chat
- anthropic-messages
- openai-responses
- droidDroid
- anthropic-messages
- openai-responses
- openai-chat
- crushCrush
- openai-chat
- anthropic-messages
- gooseGooseExperimental
- openai-chat
- anthropic-messages
- zedZedExperimental
- openai-chat
- openai-responses
- anthropic-messages
- continueContinue
- openai-chat
- anthropic-messages
- claude-desktopClaude DesktopExperimental
- anthropic-messages
Preset ids
Values for --preset on yoink add and yoink probe. yoink presets --json prints the same list as JSON.
- openaiOpenAI
- openai-responses
- openai-chat
- kimi-codeKimi Code
- openai-chat
- anthropic-messages
- moonshotMoonshot AI
- openai-chat
- anthropic-messages
- openrouterOpenRouter
- openai-chat
- anthropic-messages
- deepseekDeepSeek
- openai-chat
- anthropic-messages
- zaiZ.ai
- openai-chat
- anthropic-messages
- ollamaOllama (local)
- openai-chat