Actually isolated
Each account has its own `CLAUDE_CONFIG_DIR`: credentials, sessions, and settings never mix.
A companion for Claude Code · Free · Open source · macOS 15+
Keep Claude Code accounts isolated, select the right profile per tab or project, watch usage, and move sessions when needed — without giving up privacy.
No Bun, Rust, or Xcode needed for a release install.
curl -fsSL https://raw.githubusercontent.com/OreoSolutions/oreodeck/main/install.sh | bashOne correct profile, everywhere
OreoDeck uses a clear precedence order. You can still override one invocation, while everyday commands always pick the right context.
ord run -P personal always wins.
.oreodeck/config.json pins a profile to the project.
ord use --tab work affects only the current tab.
ord use work is the clear fallback.
With shell integration enabled, a regular `claude` command uses the resolved profile too.
A calmer workflow across accounts, terminals, gateways, and projects.
Each account has its own `CLAUDE_CONFIG_DIR`: credentials, sessions, and settings never mix.
See the Claude quota windows available to an account, their reset times, and whether it needs re-authentication.
Find sessions for the current project, then import and resume one from global Claude or another profile.
Connect an Anthropic-compatible HTTPS gateway, check its models before use, and keep its API key in macOS Keychain.
Map provider IDs for Opus, Sonnet, Haiku, or Fable. Leave a mapping empty to keep Claude’s default model ID.
Share only MCP, skills, plugins, and a status line—not OAuth, API keys, or your full settings.
Set a fallback order; headless runs can retry when a profile hits its usage limit.
Use `ord` in a terminal or install the native dashboard/menu-bar app later with `ord ui install`.
No usage guesswork
OreoDeck reads direct usage for the selected profile when Claude Code has a valid OAuth credential with the `user:profile` scope. Refresh it manually or set an interval; the token is never shown, copied, or placed in the UI.
Gateway telemetry stays separate
Gateway profiles show local token/cost telemetry and only show models after you explicitly Check connection. That is not Claude subscription billing.
work
Live Claude usage
Resets in 2h 2m
Resets in 15h 2m
Resets in 15h 2m
Resets in —
Claude decides which quota buckets are available to each account.
No. The installer downloads prebuilt release binaries, verifies their checksum, then installs them. Bun, Rust, and Xcode are only required for source builds.
Not when you run an isolated profile. Global Claude remains separate; sessions are copied only on demand. Shell integration only routes `claude` through the resolved profile.
Yes. Run `ord use --tab <profile>` in each tab. That choice does not affect other tabs; a project profile and `-P` still take precedence.
If the OAuth credential is missing, expired, or lacks the `user:profile` scope, OreoDeck shows that state and lets you open Claude Code login again. Never copy a token into OreoDeck: re-authenticate in Terminal, then refresh that profile.
After Check connection, OreoDeck only shows models returned by the gateway. Optionally map Opus, Sonnet, Haiku, or Fable to provider model IDs; leave a field empty to keep Claude’s default ID.
No. A gateway shows local token/cost telemetry. Live subscription usage and reset times only come from the selected Claude profile’s OAuth data.