-
Notifications
You must be signed in to change notification settings - Fork 52
Feature: Multi-account support for quota distribution #280
Copy link
Copy link
Open
Description
Summary
Support using multiple Claude Max accounts to distribute quota across agents, avoiding rate limits and enabling continuous operation.
Problem
When running multiple agents, a single Claude Max account's quota can be exhausted quickly. Currently, all agents share the same ~/.claude/.credentials.json via symlinks, so there's no way to spread load across multiple accounts.
When quota runs out:
- Claude processes exit
- Daemon health check (2 min) detects dead PIDs
- Persistent agents restart in a loop until quota restores
This creates a bad experience when hitting quota limits frequently.
Proposed Solution
Allow configuring multiple Claude accounts and assigning them to different agents.
Configuration
Add account configuration to repo settings:
accounts:
- name: primary
credentials: ~/.claude/.credentials.json
agents: [supervisor, merge-queue]
- name: secondary
credentials: ~/.claude/.credentials-secondary.json
agents: [default]
- name: worker-pool
credentials: ~/.claude/.credentials-workers.json
agents: [workers] # special: all worker agents use thisOr simpler CLI approach:
multiclaude config set-account supervisor ~/.claude/.credentials-account1.json
multiclaude config set-account workers ~/.claude/.credentials-account2.jsonImplementation
- Add
accountorcredentials_filefield to agent state - Modify
linkGlobalCredentials()indaemon.goto use per-agent credential paths - Add CLI commands for managing account assignments
- Optionally: round-robin workers across multiple accounts
Credential Setup
Users would need to:
claude logout- Login to account 2
cp ~/.claude/.credentials.json ~/.claude/.credentials-account2.json- Repeat for additional accounts
- Login back to primary account
Or add a helper command:
multiclaude accounts add secondary # prompts for OAuth login, saves to separate fileBenefits
- Distribute quota across accounts for longer continuous operation
- Isolate high-volume workers from critical supervisor/merge-queue agents
- Enable team scenarios where different team members contribute their quotas
Additional Context
Related code locations:
internal/daemon/daemon.go:linkGlobalCredentials()internal/state/state.go: Agent structpkg/config/paths.go: Path configuration
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels