Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,135 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

clauth: Claude Code account switcher and usage monitor TUI

Claude Code multi-account manager & MCP Plugin

Release build status latest version GitHub release downloads Linux, macOS, Windows MIT license

Features Β· How it works Β· Install Β· Quickstart Β· Plugin Β· Alternatives Β· FAQ Β· Wiki

Juggle every Claude Code account from one terminal: switch in a keypress, track live 5h / 7d usage, auto-switch before a limit stops you, even hand a task to another account from inside Claude.

Most account tools do one half. clauth pairs instant switching between multiple Claude Code accounts with a live usage monitor, then wires the two together so a fallback chain moves you off an exhausted account before Claude Code ever blocks. Works with Claude Pro, Max, Team, Enterprise OAuth accounts or any custom API endpoint. Linux, macOS, Windows.

clauth TUI demo: switching Claude Code accounts with live usage bars

Font is kinda off on the recording, I promise it looks better than this.

Features

  • πŸ”„ Switch accounts in one keypress or clauth <name>: OAuth (Pro / Max / Team / Enterprise) or a custom API endpoint, plan tier detected for you
  • πŸ“Š Monitor live 5h / 7d rate-limit bars, a global token dashboard with API-equivalent cost, plus a live Claude status-incident feed
  • πŸ€– Auto-switch down a fallback chain the moment an account hits its limit, with weekly-window and spend-ceiling gates so a long run never stalls and never surprises you with a bill
  • 🧩 Run in parallel: several accounts at once in isolated config dirs, or a clean headless session with none of your global memory, plugins, or hooks
  • πŸ”Œ From inside Claude: an MCP plugin lets a live session list, switch, or delegate a whole prompt (even headless) to another account
  • πŸ–₯️ Headless: clauth daemon runs the refresh and auto-switch loop with no TUI and publishes status.json for a menu-bar app to read
  • πŸ› οΈ Quality-of-life: browse and resume past sessions under any account, per-profile model routing, shell completions, signed self-updates, multi-instance safe

Full reference: the wiki.

How it works

Claude Code stores its session in ~/.claude/.credentials.json (OAuth tokens) and the env block of ~/.claude/settings.json (base URL, API key). clauth keeps a per-profile snapshot of both. A switch swaps those two in place and leaves the rest of ~/.claude/ untouched. clauth start takes a different route: it launches claude against a temporary ~/.claude mirror, so several accounts run at once.

flowchart LR
    P["profiles in<br/>~/.clauth"]
    P -->|"clauth work"| S["swap ~/.claude<br/>credentials + env, in place"]
    P -->|"clauth start work"| I["launch claude in an<br/>isolated config dir"]
    ANT["Anthropic<br/>(api + platform)"] -. "poll usage, refresh tokens" .-> P
    P -. "auto-switch at your limit" .-> P
Loading

Install

Linux, macOS, Windows (Git Bash / MSYS2).

cargo install clauth
# no Rust toolchain needed; --nocargo forces a binary download
curl -fsSL https://raw.githubusercontent.com/uwuclxdy/clauth/mommy/install.sh | bash

Binary installs update themselves in the background, checksum and signature verified before anything is replaced; CLAUTH_NO_UPDATE=1 turns that off. Cargo installs upgrade with cargo install clauth. On first launch clauth offers to install shell completions, asking before it touches your shell rc. More: Install.

Quickstart

Capture your current Claude Code session as a profile:

clauth
# Select "+ new from current profile", enter a name, e.g. "work"

Repeat while logged in to a different account, then switch in the TUI (⏎ + confirm) or directly by name:

clauth work
# switched to 'work'

Run claude under a profile without touching the global config:

clauth start personal -- --model haiku
# spawns claude with personal's credentials in a per-profile CLAUDE_CONFIG_DIR

For a clean, blind session (auth only, no global memory, plugins, or hooks):

clauth start --isolated personal -p < prompt.txt
# pass the prompt on stdin: a variadic claude flag (e.g. --disallowedTools a,b,c)
# would otherwise swallow a trailing positional prompt forwarded through clauth
Command Does
clauth open the TUI
clauth <profile> switch and exit
clauth start <profile> run claude under that account, in its own config dir
clauth login <profile> add or re-authenticate an account, browser or API key
clauth list / clauth which account table with cached usage / who owns this session
clauth sessions, resume, info browse past Claude Code sessions and resume one anywhere
clauth daemon headless refresh + auto-switch loop

Every command and flag: Quickstart.

The active profile shows in orange. Usage bars are cached locally, so they stay on screen even when the Anthropic API is rate-limited or offline. ← β†’ move between the eight tabs, ? lists the keys for the tab you are on.

Tab What it holds
Overview switch and reorder accounts
Usage per-account window breakdown
Tokens global Claude Code token stats + API-equivalent cost across all models
Setup endpoint, key, env, auto-start, per-profile model routing, account presets
Fallback chain editor
Config appearance, scheduler, auto-switch defaults
Status Claude incident feed
Plugin Claude Code wiring + per-profile runtime, with one-key fixes

Claude Code plugin

clauth ships a plugin that exposes your profiles to a live Claude Code session via MCP:

/plugin marketplace add uwuclxdy/clauth
/plugin install clauth@clauth
Tool What it does Quota
list_profiles every profile with cached 5h/7d usage, provider, tier, live-session flag, observed throughput zero (disk cache)
which which profile owns the current session zero (filesystem)
switch relink the global active profile zero
delegate hand a headless prompt to another account and return the answer (or a job_id) real usage window on the target account
delegate_result fetch a backgrounded delegate's result zero (filesystem)

delegate fields, kill and resume rules, the manual mcpServers entry: Claude Code plugin.

Alternatives

clauth is the only one of these that pairs account switching with a live usage monitor and ties them together with an auto-switch chain, in a single TUI.

Tool What it does Compared to clauth
claude-swap CLI account switcher (token backup/restore) no usage view, no auto-switch
CCSwitcher, claude-account-switcher macOS menu-bar switchers macOS-only, no fallback chain
cc-account-switcher credential-swap scripts no TUI, no usage
Claude-Code-Usage-Monitor real-time usage monitor with predictions monitoring only, single account
claude-code-statusline rate-limit status line inside Claude Code in-session display, no switching
CLAUDE_CONFIG_DIR by hand manual per-account config dirs what clauth start automates

FAQ

How do I switch between multiple Claude Code accounts without logging out? Install clauth, save each logged-in session as a profile once, then switch with clauth <name> or a single keypress in the TUI. No browser, no re-login.

Can I run Claude Code with multiple accounts at the same time? Yes. clauth start <profile> launches claude in an isolated CLAUDE_CONFIG_DIR, so parallel sessions don't share identity, settings, or billing caches.

How do I run Claude Code without my global CLAUDE.md, plugins, or hooks? clauth start --isolated <profile> keeps the account's auth but drops your operator memory, plugins, and hooks, leaving a clean session for headless work or blind evals. The MCP delegate tool takes isolated: true for the same thing.

Can Claude Code switch accounts automatically when I hit the 5-hour limit? Yes: put accounts in the fallback chain and clauth switches to the next member with headroom the moment the active one crosses its threshold. It runs in the TUI or headless via clauth daemon.

Is there a Claude Code MCP server / plugin to switch accounts from inside a chat? Yes. clauth ships a plugin that runs as an MCP server (clauth mcp), so a live session can list_profiles, which, switch, or delegate a headless prompt to another account without leaving the chat.

How do I monitor Claude Code usage and rate limits? The Overview tab shows color-coded 5h (and 7-day) bars per account with reset times; the Usage tab breaks down every rate-limit window the API reports; the Tokens tab adds a global token dashboard with API-equivalent cost.

Does it work with Claude Pro, Max, Team, and Enterprise? Yes. OAuth profiles cover all paid tiers (plan auto-detected, including Max 5x / 20x). API-endpoint profiles cover the Anthropic API or any compatible proxy.

Where does clauth store my Claude Code credentials? Locally under ~/.clauth/, with 0600 permissions on Unix. Tokens only ever go to Anthropic. See SECURITY.md.

More, including what to check when something misbehaves: FAQ.

Documentation

Page Covers
Install every install path, update verification, completions
Quickstart first run, every command, flag, and env var
Interface and keys the eight tabs, every keybinding, the action menus
Configuration both TOML files key by key, model routing, storage layout
Auto-switch thresholds, exclusion rules, burn-aware mode, spend ceilings
Daemon clauth daemon and the status.json read contract
Claude Code plugin the MCP server and delegate in full
Tokens and cost where the dashboard reads from, what the cost figure means
Security where credentials live and how they move

Development

cargo build --release
cargo clippy --all-targets   # CI gates clippy -D warnings + fmt --check + test on every push
cargo test

Tip

cargo test showcase -- --ignored --nocapture drives the real interactive TUI on fake data against a throwaway home dir (no network, never compiled into the binary). Handy for screenshots.

Security

clauth handles live OAuth tokens and replaces its own binary over the network, so SECURITY.md lays out the trust model: where credentials live, every host clauth contacts, how updates get verified, and how to switch each behavior off. Found something exploitable? Report it privately through the repo's Security β†’ Report a vulnerability.

License

MIT

About

Claude Code account switcher, real-time usage monitor with a CLI, TUI and MCP

Topics

Resources

Contributing

Security policy

Stars

54 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages