A tiny desktop app that points Claude Code at OpenRouter, your own gateway,
or a local model β safely editing only the env block of
~/.claude/settings.json. Your other settings are never touched.
Claude Code reads its provider from environment variables inside
settings.json. Editing them by hand is error-prone β one bad JSON
brace and Claude Code refuses to start. This app makes it a two-click job.
Save multiple provider profiles (OpenRouter, corporate gateway, Ollamaβ¦) and jump between them with one click.
Test the endpoint before applying β real HTTP request, clear pass/fail message with server details.
Only the managed ANTHROPIC_* keys change. Permissions, hooks and everything else stay untouched. A timestamped backup is written before every apply.
Empty or broken settings.json? The app detects it, backs it up and writes valid JSON automatically.
Bearer token (ANTHROPIC_AUTH_TOKEN) or x-api-key header (ANTHROPIC_API_KEY) β whatever your gateway expects.
Scriptable --cli mode for automation and dotfiles: apply, test, show, deactivate.
Three fields and a button β that's the whole workflow.
settings.json, merges only the provider keys into its
env block, and you're done. Restart Claude Code and enjoy.Prefer the terminal?
$ claude-provider-manager --cli apply \
--name openrouter-main \
--base-url https://openrouter.ai/api \
--token sk-or-v1-... \
--model anthropic/claude-sonnet-4-6 \
--key-mode auth_token
# other commands: list Β· show Β· test Β· deactivate
Grab the latest build for your platform from GitHub Releases.
Fetching latest release infoβ¦
First launch on macOS? Right-click the app β Open (unsigned build).
No. Only ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN/ANTHROPIC_API_KEY,
ANTHROPIC_MODEL and ANTHROPIC_SMALL_FAST_MODEL inside the env block are managed.
Everything else in settings.json is preserved byte-for-byte, and a backup is written before every change.
Any Anthropic-compatible endpoint: OpenRouter, LiteLLM, corporate gateways, OpenAI-compatible proxies, or a local Ollama instance exposed through such a bridge.
Claude Code uses a lightweight model for background tasks like chat titles. Point it at a cheaper model (e.g. a Haiku variant) if your provider has one β leave it empty to use your main model everywhere.
That's exactly what the repair feature is for: open the app and hit Apply (or Clear model config). It detects the empty file, backs it up and writes valid JSON again.