Skip to content
Yoink

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

Accounts

Open the menu, add, switch, list and manage saved profiles.

Open the interactive account menu, grouped by tool.

yoink

Switch straight to a saved profile. Any unrecognized argument is treated as a profile name.

yoink work

yoink 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-stdin

Edit 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-work

yoink 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 personal

yoink 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 --json

Rename a profile. A provider is renamed in every harness too.

yoink rename temp scratch

Delete a profile. A provider is disconnected from every harness first.

yoink remove scratch

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 omp

Remove a provider from harnesses, or from every harness it is in.

--from <h,...>
Harness ids to disconnect from.
yoink disconnect fuse --from opencode

Choose 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.2

Show detected harnesses, their config paths and their providers.

--json
Print machine-readable JSON for scripts.
yoink harnesses --json

Import providers already configured in your harnesses.

--yes
Import without prompting.
yoink import --yes

Show each harness for a provider: installed, compatible and connected.

--json
Print machine-readable JSON for scripts.
yoink status fuse

List the built-in provider presets.

--json
Print machine-readable JSON for scripts.
yoink presets --json

Detect 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 --json

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 codex

yoink 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 gemini

Info

Help and version output.

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