External providers

Register any Anthropic-compatible endpoint as a switchable profile.

Adding a provider

Run yoink add and choose External provider. yoink asks for three things:

Provider name   OpenRouterBase URL        https://openrouter.ai/apiAPI key         sk-or-v1-…

It validates the key by fetching {baseURL}/v1/models. If the endpoint answers, you get a searchable model picker (OpenRouter alone exposes hundreds of models; type a few characters to narrow). The model you pick fills every Claude Code model tier: ANTHROPIC_MODEL, the opus/sonnet/haiku defaults, and the subagent model.

Global or project scope

Then yoink asks where the provider should apply:

Globally writes the env block into ~/.claude/settings.json, which makes the provider a switchable profile in the menu like any other account. If that file happens to be tracked in a git repo, yoink warns you before a token lands in it.

This project only writes ./.claude/settings.local.json instead, the highest-precedence settings file, and checks that your .gitignore excludes it first, offering to add the entry if it does not. Your other projects and the global settings keep using whatever they had.

Switching between kinds

The menu treats both account types the same way. Picking an external account writes its env block. Picking a Claude account restores the Keychain login and strips the seven managed env keys, so your subscription takes over again. Only those seven keys are ever written or removed; hooks, permissions, and the rest of your settings are untouched.

Local models via Ollama

Ollama exposes an Anthropic-compatible API on localhost, so a local model registers like any hosted provider:

Provider name   OllamaBase URL        http://localhost:11434API key         ollama

Pick the local model from the catalog and pin it to a scratch project with the project-only scope: offline Claude Code, no tokens spent.