Repository navigation
Add a Claude account pool with OrcaRouter keys and usage-limit rotation - #467
Merged
Merged
Conversation
Settings → Coding CLIs → Claude Code now keeps several Claude accounts: separate Claude Code profiles (each its own CLAUDE_CONFIG_DIR and browser login) and OrcaRouter gateway keys stored with OS encryption. New conversations start on the selected account. With rotation on, an account that reports a usage limit sits out until its reset time, and a turn that had not started work retries once on the next account. Threads bind to their first account, as Codex threads do. Every turn still runs through the installed claude CLI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Code coverage overviewLanguages: TypeScript TypeScript / code-coverage-agent
View coverage of the 10 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BunsDev
enabled auto-merge
November 1, 2026 11:56
Fix Claude pool credential isolation, redaction and retry cooldown
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reconcile main documentation for Claude account delivery
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Nov 1, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Settings → Coding CLIs → Claude Code now manages several Claude accounts inside Modex. Every turn still runs through the installed
claudeCLI; Modex only chooses the environment that child starts with. There is no proxy and no API mode.CLAUDE_CONFIG_DIR, owner-only, underapp/claude-profiles/). Sign in runsclaude auth loginthere and confirms it withclaude auth status. Modex never reads a token.sk-orca-…keys are stored with OS encryption insecrets.jsonand never cross IPC again. A gateway turn getsANTHROPIC_BASE_URL=https://api.orcarouter.ai,ANTHROPIC_AUTH_TOKENand an optional model. InheritedANTHROPIC_API_KEYis removed.CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1keeps the key out of the model's shell commands. The key is redacted from failures.Thread.claudeAccount), mirroring Codex. Approval bindings compare the account for the thread's current backend.~/.claude.OmniRouter (omnilabs-ai/OmniRouter) was evaluated and not integrated. It is a pre-alpha model-swap evidence layer with no account switching. Details are in
docs/claude-accounts.md.Destination approval and acceptance
Choosing an OrcaRouter account sends that conversation's prompts, files and tool results to OrcaRouter through the
claudechild. Signed commit6a959580405356880cacdf819f10ee3a2fae9e22records Val's 2026-11-01 approval of that destination in AGENTS.md. Live acceptance with a second Claude subscription, a real usage-limit message and an OrcaRouter turn remains unrun.Review repairs
#469 merged into this branch as
82fe8fdc22c0fa5666e7f04fdc0a904e9ecb8c84. It isolates inherited profile credentials, redacts gateway transcript output before journal/IPC delivery, denies secret-bearing approval actions, and cools down the second limited account without a third retry. The merge tree matches the reviewed repair exactly and its signature is verified. Local build and full tests passed with 2,298 passes and 26 skips; the focused account Electron E2E passed. Hosted macOS unit/E2E, iPhone, Linux and Windows checks all passed. First failures and validation boundaries are retained indocs/reviews/2026-11-01-claude-pool-repair.md.#471 reconciled the documentation conflict with main and merged as
17c83be15c11200c0f4b1849e1923309e32a90ce. Its signed merge tree exactly matches the reviewed candidate. Hosted validation passed with 482 desktop E2E passes, 4 skips and 7 site passes; its cold-open median was 288.4 ms against the unchanged 500 ms limit. The current feature head still requires its own checks and protected queue validation before main. The original feature validation below is retained as historical evidence.Test plan
pnpm --filter @modex/desktop test: 2,106 passed, 20 skipped, 0 failed, including 13 new tests intest/claude-accounts.test.tspnpm --filter @modex/store-desktop test: 16 passedplaywright test: 479 passed, 7 skipped, 0 failed, including the newe2e/claude-accounts.spec.ts(syntheticclaude, real IPC and UI)