Switch Claude Code providers in one click.
Cross-platform desktop app for managing Claude Code provider profiles. Switch between Anthropic, GLM, Kimi, DeepSeek, Minimax, self-hosted, or any OpenAI-compatible provider — without hand-editing settings.json.
- Linux binary
- <8MB
- Open source
- 100%
- Plain-text secrets
- 0
Anthropic
LoadedEverything Claude Code needs.
Nothing it doesn't.
A small, focused app that does one thing well: swap your Claude Code provider profile without touching settings.json by hand.
Unlimited provider profiles
Anthropic, GLM, Kimi, DeepSeek, Minimax, self-hosted, or any OpenAI-compatible endpoint. Name, base URL, auth token, optional model overrides — all in one place.
One-click load
Pick a profile, hit load. The selected env block is written into ~/.claude/settings.json atomically.
OS keyring storage
Auth tokens live in macOS Keychain, GNOME libsecret, or Windows Credential Manager. Never on disk in plaintext.
Non-destructive merge
Only the env block is touched. Hooks, enabledPlugins, extraKnownMarketplaces, and everything else are preserved verbatim.
Automatic backups
Every write snapshots settings.json to <unix-ms>.json — restore any version with one click.
Honors CLAUDE_CONFIG_DIR
Use a custom Claude Code config directory. First launch auto-imports your existing env block as a ready profile.
~5 MB Tauri binaries
Rust backend for file I/O, atomic writes, and keyring access. No Electron. No Chromium bloat.
Open source, MIT
Fully auditable. Build from source with pnpm tauri build. Releases cut from GitHub Actions for every push tag.
Native installers for every desktop.
Small (~5 MB), self-contained, signed builds for Linux, macOS, and Windows. One-click to install.
Ubuntu, Debian, Pop!_OS, Mint
One-line install: curl, apt, launch.
- Size
- 5.27 MB
- SHA-256
- 1fbd8a5544ec…
- 1
Download the .deb
curl -L follows GitHub's redirect to the CDN.
curl -L -o claude-config.deb \ "https://github.com/ayan-de/claude-config/releases/download/v0.1.3/Claude.Config_0.1.3_amd64.deb" - 2
Install with apt
apt auto-pulls libwebkit2gtk-4.1-0 and libsecret-1-0.
sudo apt update sudo apt install -y ./claude-config.deb - 3
Launch
The app appears in your application menu.
claude-config
Verify the download
# Linux / macOS
sha256sum claude-config.deb
# expected: 1fbd8a5544ec456a4775d0c0b2d8b0c7094bc960d7a411c99a628fe9b19afa0aThree commands. Then you're in.
The whole install takes under a minute on a fresh Ubuntu box. apt resolves libwebkit2gtk and libsecret for you.
Or paste this single command
curl -L -o claude-config.deb "https://github.com/ayan-de/claude-config/releases/download/v0.1.3/Claude.Config_0.1.3_amd64.deb" && sudo apt update && sudo apt install -y ./claude-config.deb && claude-config- 01
Download the .deb
curl -L follows GitHub's redirect to the CDN.
curl -L -o claude-config.deb \ "https://github.com/ayan-de/claude-config/releases/download/v0.1.3/Claude.Config_0.1.3_amd64.deb" - 02
Install — apt auto-pulls the deps
libwebkit2gtk-4.1-0 and libsecret-1-0 are pulled automatically.
sudo apt update sudo apt install -y ./claude-config.deb - 03
Launch
Available in your application menu, or run from a terminal.
claude-config
A small, focused app.
Auditable down to the byte.
Tauri shell + Next.js frontend + Rust backend. The merge logic is pure, exhaustive, and unit-tested — your settings.json is the only Claude Code file ever touched, and only its env block at that.
~5 MB cross-platform binaries. Small, fast, native.
Static export loaded by the Tauri webview. Zero SSR.
base-ui primitives. Dark/light themes via CSS variables.
File I/O, atomic writes, keyring access. Exhaustive merge tests.
Auth tokens never touch disk in plaintext.
tempfile + fsync + rename with exclusive lock held across reads.
Provider data model
One struct. No auth tokens on disk — those live in the OS keyring and are fetched on demand when loading a profile.
interface Provider {
id: string; // uuid
name: string; // unique, user-facing
baseUrl: string; // → ANTHROPIC_BASE_URL
model?: string; // → ANTHROPIC_MODEL
smallFastModel?: string; // → ANTHROPIC_SMALL_FAST_MODEL
defaultSonnetModel?: string; // → ANTHROPIC_DEFAULT_SONNET_MODEL
defaultOpusModel?: string; // → ANTHROPIC_DEFAULT_OPUS_MODEL
defaultHaikuModel?: string; // → ANTHROPIC_DEFAULT_HAIKU_MODEL
apiTimeoutMs?: number; // → API_TIMEOUT_MS
disableNonessentialTraffic?: boolean; // → CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
createdAt: string;
updatedAt: string;
}
// The auth token is NOT in this struct — it lives in the OS keyring.Storage layout
Predictable paths on every OS. Nothing hidden, nothing obfuscated.
What lives where
- Saved provider metadata
<app-data>/providers.json - Auth tokens
OS keyring · service `claude-config` - settings.json backups
<app-data>/backups/<unix-ms>.json - ~/.claude/settings.json
Claude Code's own file — env block only
<app-data> paths
- Linux
~/.local/share/com.claudeconfig.app/ - macOS
~/Library/Application Support/com.claudeconfig.app/ - Windows
%APPDATA%\com.claudeconfig.app\
Merge semantics
Loading a profile rewrites the env block with provider-authoritative semantics — stale keys are removed, your own additions are kept.
- 1Every canonical key defined by the provider is set.
- 2Canonical keys the provider omits are removed — no stale keys accumulate across loads.
- 3Unknown keys already in settings.json are preserved — your additions survive.
- 4Atomic write: tempfile + fsync + rename with lock_exclusive held across the read-modify-write.
src-tauri/src/merge.rs is the single source of truth. Pure, no I/O, exhaustively unit-tested.
Common questions.
If something's missing, open an issue on GitHub — happy to help.
No. The only Claude Code file the app ever writes to is ~/.claude/settings.json, and only the env block at that. Hooks, enabledPlugins, extraKnownMarketplaces, and everything else are preserved verbatim.
In the OS keyring — macOS Keychain, GNOME libsecret (via Secret Service), or Windows Credential Manager. Never on disk in plaintext. The app's providers.json only stores the metadata: name, base URL, model overrides.
Every load snapshots settings.json to <app-data>/backups/<unix-ms>.json. You can restore any snapshot from inside the app.
Yes. The app honors the standard CLAUDE_CONFIG_DIR environment variable. On first launch it auto-imports your existing env block as an "Imported" profile so you start with one entry ready.
Windows binaries will show a SmartScreen warning until Authenticode signing ships (planned). Click More info → Run anyway. macOS: right-click the app → Open → confirm on first launch until notarization ships. Linux: no gatekeeper, just install.
Yes. pnpm install, then pnpm tauri build. Each platform builds on its own host — Tauri does not cross-compile installers. CI publishes release artifacts from a matrix build.
