Repository navigation
[Bug]: System-default Claude account label disagrees with OAuth identity, duplicating managed account usage (Windows) #29897
Description
Operating system
Windows
Orca version
1.4.227 (installed Windows executable FileVersion; ProductVersion 1.4.227.0)
Details
Orca lists two different Claude emails, but both account rows show 82% weekly usage. Read-only checks against Anthropic confirm that the system-default credential and the managed profile credential both authenticate as Account B, although the system-default metadata still names Account A.
Environment: Windows NT 10.0.26200.0, native host runtime. Account A and Account B below replace the real emails and UUIDs.
Observed state
- System default is labelled Account A.
- One saved managed account is labelled Account B.
orca account list --jsonreportsclaude.activeAccountId: null,activeAccountIdsByRuntime.host: null,systemDefaultEmail: Account A, andsystemDefaultMayBeCopied: true.- Both
rateLimits.claude.weekly.usedPercentand the saved account'sinactiveClaudeAccounts[].rateLimits.weekly.usedPercentare 82, with statusok. - The account owner reports Account A has 0% weekly usage and Account B has 82%. Account A's actual usage could not be independently queried because the effective system-default token belongs to B.
Server-verified identity mismatch
Each credential was read locally and used only for GET requests to https://api.anthropic.com/api/oauth/profile and /api/oauth/usage. Tokens are omitted.
| Local source | Stored identity | Identity returned by Anthropic | Weekly usage returned |
|---|---|---|---|
%USERPROFILE%\.claude.json + %USERPROFILE%\.claude\.credentials.json |
Account A | Account B (B's email, account UUID and organization UUID) | 82% |
%APPDATA%\orca\claude-profiles\<managed-id>\home\.claude.json + .credentials.json |
Account B | Account B (same account and organization UUID as above) | 82% |
The profile responses, including matching account and organization UUIDs, establish that both effective credentials belong to B; this conclusion does not rely on matching usage alone.
A third credential file, %APPDATA%\orca\claude-accounts\<managed-id>\auth\.credentials.json, returns HTTP 401 from the usage endpoint. This is an additional observed divergence between auth stores, not an established cause of the identity mismatch.
Verification and reproduction limits
This was diagnosed in an existing installation. The login/switch/upgrade sequence that created the mismatch has not been reproduced from a clean state.
To verify the affected state:
- Compare the system-default email and per-account usage in
orca account list --json. - Compare the local
oauthAccountmetadata with the account returned by/api/oauth/profilefor each effective credential, keeping all tokens private. - Compare the corresponding
/api/oauth/usageresponses.
The investigation did not change credentials, switch accounts, or send inference requests.
Expected behavior
The system-default label, authenticated identity and usage should describe the same account. If credentials belong to B while metadata says A, Orca should surface the mismatch and offer a recovery path, rather than presenting B's usage as A's. Separate accounts should retain separate credentials and quota attribution.
Related reports
- [Bug]: Active Claude managed account is materialized into the user's default CLAUDE_CONFIG_DIR — sessions launched outside Orca bill the selected account #16016 was closed as fixed by Re-land Claude per-account folders (#24434, #26405) with the upgrade and proxy fixes #26801 (per-account Claude folders). This installation has those folders, but its system-default identity and credential still disagree. It is not yet known whether this is leftover state from an older version or a current write/restore path.
- [Bug]: Account switch writes oauthAccount to ~/.claude/.claude.json, so new Claude terminals show the previous account #22667 tracks stale Claude identity metadata after account switching on macOS. This report adds Windows 1.4.227 evidence from server-verified token identities and the usage roster.
No credential values, real emails, account UUIDs or raw local logs are included.
Activity
AmethystLiang commentedon Oct 18, 2026
looking into it