Skip to content

Releases: claude-code-tools/claude-code-account-switcher

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 09:02
e31072c

What's Changed

New Contributors

Full Changelog: v0.3.0...v1.0.0

v0.3.0

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 29 Jun 06:12

The fix

Every subscription billed the account from the last /login, regardless of which token you launched with — because Claude Code pins the account/org cached in ~/.claude.json's oauthAccount onto every request, so injecting CLAUDE_CODE_OAUTH_TOKEN alone still resolved to the logged-in plan.

Each claude-<suffix> now launches with its own CLAUDE_CONFIG_DIR that strips only oauthAccount and symlinks everything else, so the right plan is billed while settings, plugins, memory, and history stay shared. Isolation uses jq when present, otherwise the built-in macOS plutil (or python3) — no extra dependency.

Also

  • claude-accounts doctor — flags missing/duplicate tokens and when two accounts resolve to the same subscription.
  • The status line shows the pinned account for the whole session.
  • Sessions are no longer named after the account by default, so the resume picker shows Claude's descriptive titles (CLAUDE_SUBSCRIPTION_NAME_SESSIONS=1 restores naming).
  • Near-limit launch note; hermetic test suite.

Upgrade

curl -fsSL https://raw.githubusercontent.com/leegunwoo98/claude-code-account-switcher/v0.3.0/install.zsh | zsh

If a token was generated under the wrong claude.ai account, run claude-accounts → select the profile → Refresh token (with the intended account signed in on claude.ai). Verify with claude-accounts doctor.

v0.2.4

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 28 Jun 07:36

Fixes

  • Remove the broken per-email claude auth login step from token generation. It wrote global subscription credentials that the injected CLAUDE_CODE_OAUTH_TOKEN always overrides (per Claude Code's auth precedence), so it had no effect on which account a session used — and its unconditional auth logout could destroy the active Claude CLI session if the login failed, with no rollback. claude setup-token already binds the token to whichever account is signed in on claude.ai; the prompt now tells you to switch accounts there first.
  • Clear cached usage only after a new profile is registered, so a failed save no longer discards usage for an account that was never added.

Upgrade

curl -fsSL https://raw.githubusercontent.com/leegunwoo98/claude-code-account-switcher/v0.2.4/install.zsh | zsh

If a profile's token was generated under v0.2.3 while the wrong account was signed in on claude.ai, regenerate it: switch to the intended account on claude.ai, then claude-accounts → select the profile → Refresh token.

v0.2.3

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 28 Jun 03:51
  • Optionally force Claude login for the intended email before generating or refreshing a setup token.
  • Clear cached usage whenever a profile token is replaced.
  • Keep the email as a transient login hint; the switcher does not store it.

v0.2.2

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 28 Jun 03:38
  • Pin installer downloads to a single immutable release.
  • Prevent raw GitHub caching from mixing installer and runtime files from different commits.
  • Cache-bust mutable version overrides such as main.

v0.2.1

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 28 Jun 03:32
  • Show the selected profile display name in Claude's prompt header, terminal title, and resume picker by default.
  • Preserve an explicit --name or -n supplied by the user.
  • Document using the editable display name for the account email because Claude OAuth status does not expose it.

v0.2.0

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 27 Jun 08:16

Shell-independent installation release.\n\n- Install a real claude-accounts executable into a writable directory already on PATH\n- Generate real claude- executable symlinks for profiles\n- Work from Bash, Zsh, Fish, Ghostty, and other terminal shells\n- Stop modifying shell startup files\n- Remove legacy source blocks during upgrade

v0.1.1

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 27 Jun 07:36

Visual showcase release.\n\n- Add an animated terminal demo to the README\n- Add a reproducible VHS tape and deterministic mock data\n- Add visual demo scripts to syntax validation

v0.1.0

Choose a tag to compare

@leegunwoo98 leegunwoo98 released this 27 Jun 07:14

Initial public release.\n\n- Keychain-backed Claude Code subscription profiles\n- Generated claude- commands\n- Unified account management UI\n- Cached 5-hour and 7-day usage display\n- Idempotent macOS/Zsh installer and non-destructive uninstaller