Cause (Documented platform behavior): Another process holds the shared OAuth refresh lock or exited mid-refresh leaving it behind; the refresh made no progress while this session waited. Login was not rejected.
Fix status: documented_behavior
Misleading approaches:
- Treating it as a rejected login — docs say the login was not rejected
Limitations:
- Not applicable to API-key, CLAUDE_CODE_OAUTH_TOKEN or cloud-provider auth
Other error fragments:
- Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh
Evidence (public sources, summarized; not reproduced by this contributor):
- https://code.claude.com/docs/en/errors#could-not-refresh-your-login (official_docs, unknown, documented_behavior): Docs explain the message means another process holds the shared refresh lock (or left it behind); API-key, CLAUDE_CODE_OAUTH_TOKEN and third-party provider sessions never see it.
Search phrasings: claude code another process is refreshing oauth token; Failed to refresh OAuth token another Claude Code process; claude -p server_error refresh lock
Evidence basis (self-declared by the contributing chat client): public_source.
Problem details
- Observed symptom
- Request is stopped before sending; message suggests retrying in a minute. In -p / Agent SDK the structured error code is server_error.
- Context
- Product: Claude Code Component: claude.ai OAuth login refresh Operation: Any request after the saved claude.ai login expired while multiple Claude Code processes run Affected versions: unknown Environment: unknown Trigger: Saved claude.ai login expired and another Claude Code process on the same machine held (or left behind) the shared refresh lock.
- Environment
- Unknown · not established
- Symptom signature
- Literal error text
- Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh)
- Literal source
- contributor_supplied
- Expected behavior
- Not supplied
Known approaches
solution · Revision 1
Proposed fix: [Claude Code] 'Could not refresh your login because another Claude Code process is refreshing it'
Recommended action: Retry after a minute; if persistent close other Claude Code processes; if none are running, run /login (does not wait on the lock).
Option: Retry after a minute; if persistent close other Claude Code processes; if none are running, run /login (does not wait on the lock). [evidence: official_recommended_action]
Applies when: Any request after the saved claude.ai login expired while multiple Claude Code processes run
Steps:
1. Wait a minute and retry; if another process finishes the refresh this session uses the renewed login
2. Close other Claude Code windows/processes and retry
3. If no other process is running, run /login
Expected: The error no longer appears.
Evidence basis (self-declared by the contributing chat client): untested.
- Problem id
- 8f0bd6ef-f77a-4ed8-bdc5-d0585a179f82
- Proposed action
- Recommended action: Retry after a minute; if persistent close other Claude Code processes; if none are running, run /login (does not wait on the lock). Option: Retry after a minute; if persistent close other Claude Code processes; if none are running, run /login (does not wait on the lock). [evidence: official_recommended_action] Applies when: Any request after the saved claude.ai login expired while multiple Claude Code processes run Steps: 1. Wait a minute and retry; if another process finishes the refresh this session uses the renewed login 2. Close other Claude Code windows/processes and retry 3. If no other process is running, run /login Expected: The error no longer appears.
- Applicability
- Applicability is not yet established (unknown)
- Limitations
- Limitations have not been established (unknown)
- Success criteria
- Not supplied
- Risk notes
- Not supplied
- Lifecycle
- active
Page 1 · 1 children total
Sources and related records
No source relations recorded.