OAuth token expired / refresh failed — page 3
The stored OAuth token lapsed and the refresh did not recover it.
400 issues · 84 open · 316 resolved (79%) · first seen May 7, 2025
First response · account
What to do now
Most likely: Authentication, usage state or session size blocked the request.
- Check the exact account, organization and usage window currently selected.
- Try a new short session before deleting credentials or local history.
- If the state is inconsistent across machines, preserve diagnostics and re-authenticate once.
These are conservative triage steps, not an official Anthropic fix. Use the issue and workaround evidence below before making a destructive configuration change.
Is this getting better or worse?
This class of problem is still growing. 121 new reports in the last 90 days vs 89 in the 90 before — +36%. The open backlog peaked at 94 in 2026-08 and sits at 84 today.
Derived by counting each matching issue from its creation date until it closed. First-party
computation over the anthropics/claude-code tracker — the trend is not published
anywhere upstream.
Which builds report this
233 of these reports name the Claude Code build they were running, spanning 126 releases. Heaviest reporters:
- Claude Code v2.1.220
- Claude Code v2.1.229
- Claude Code v2.1.39
- Claude Code v2.1.260
- Claude Code v2.1.119
- Claude Code v2.1.81
- Claude Code v2.1.206
- Claude Code v2.1.203
Report volume, not a defect count: an issue can mention a build without that build having caused the failure. Versions come from the version string in the bug-report template, matched against real published tags.
Do these get fixed?
Median time to close is 29 days across 316 closures. Of the 316 closures with a recorded reason, 15% were closed as completed and 270 as not-planned or duplicate. The most recent completed fix landed in 2026-10.
Workarounds reported by the community
144 of these issues post a workaround someone says worked. The highest-engagement ones:
- [FEATURE] Enable Claude Code to access chat history in Claude App
- …opt-in, no sync needed in the other direction. The current workaround (manually summarizing and pasting context) defeats the entire purpose of persistent memory and cross-session continuity that Anthropic is actively bu…
Found in the thread of #15542 · still open - Missing Token Refresh Mechanism for MCP Server Integrations
- …ll, it's an option. I notice Linear's MCP server chose that workaround too: their access tokens expire in 7 days by default. But I don't think it's the right solution, and neither do the MCP protocol authors, [who say](…
Found in the thread of #5706 · resolved - Frequent re-authentication required with multiple concurrent Claude Code sessions (OAuth refresh token race condition)
- …rocesses share a single token manager that handles refresh. Workaround Currently, the only workaround is to close stale Claude Code sessions to reduce the number of concurrent processes competing for token refresh. This…
Found in the description of #24317 · resolved - [BUG] OAuth token expiration disrupts autonomous workflows – refresh token handling needed
- …t working, giving the same error message again Update: Temp workaround is to go to the folder and start Claude CLI with , then continue the session from there.
Found in the thread of #12447 · still open - [BUG] MCP OAuth: Claude doesn't auto-refresh access tokens, daily "Connection expired" despite valid refresh token
- …ions stall when access tokens expire mid-workflow. The only workaround is the community local bridge, which requires per-laptop install. Cross-platform — not Windows-specific. Confirmed by multiple colleagues at our org…
Found in the description of #65036 · still open
Excerpts are quoted from the linked issue so you can judge relevance before opening it. Threads that only ask for a workaround, or report that there is none, are excluded. These are community suggestions, not official guidance from Anthropic — read the full thread before applying one.
Matching issues 201–300
Ranked by community engagement (reactions weighted over comments). Listing the top 300 of 400 matches; the statistics above cover all 400.
- Auth credentials not reused between sessions after 2.1.139 auto-update (Max subscription, macOS)
- [Bug] Keychain race condition causes DELETE of canonical credentials entry on concurrent token refresh with stale tokens
- Multiple CLI sessions race on ~/.claude/.credentials.json token refresh
- [BUG] claudeCode.disableLoginPrompt: true silently stops working after async CLI auth check resolves with loggedIn: false
- [BUG]
- MCP: OAuth authorize requests intermittently corrupted
- /mcp dialog hangs for several seconds when an HTTP MCP server has stale OAuth tokens but reports "Connected"
- Custom MCP connector wedges silently after MCP server restart (requires full remove+re-add to recover)
- [Bug] MCP OAuth refresh fails with static clientId—not persisted to credentials
- [Slack MCP] Hardcoded OAuth callback port 3118 prevents authentication when multiple Claude Code sessions run in parallel
- [BUG] [Windows] Claude Code CLI hangs & VSCode extension errors "Query closed before response received" across all versions 2.1.98 / 2.1.112 / 2.1.114 since 2026-04-18
- macOS keychain credentials not reused after auto-update — forces re-login on every version bump
- Remote HTTP MCP (Slack): cohort with tengu_mcp_retry_failed_remote=false forces frequent re-OAuth despite valid refresh tokens
- Multiple concurrent CLI sessions cause auth failure on token refresh (race condition)
- MAX 5x subscriber stuck at 200K context window instead of 1M
- [BUG] Vercel and Notion MCP server re-auth persistently failing
- OAuth token auto-refresh broken in long-running --channels sessions
- Title: CLI login flow is unreliable — takes multiple attempts, inconsistent behavior
- MCP OAuth re-authentication required every few hours (Notion, Atlassian) on Windows
- [BUG] OAuth token refresh race condition when running multiple Claude Code agents in parallel
- OAuth token race condition causes session logouts when running multiple concurrent sessions
- [DOCS] MCP OAuth docs omit step-up re-authorization for `403 insufficient_scope`
- [Bug] Subagent token inheritance not working correctly
- OAuth token not refreshed/persisted to macOS Keychain, requiring re-login every session
- OAuth session silently invalidated: client_data returns empty, repeated /login prompts
- OAuth token refresh race condition kills parent session during parallel agent spawns
- [BUG] Log in via OAuth is far too frail
- Desktop app injects empty ANTHROPIC_API_KEY, bypasses Max plan subscription — context stuck at 200K
- [BUG] Claude Code CLI/VS Code — repeated connection timeouts followed by OAuth token expiry, forces re-login every few minutes
- Remote control bridge should auto-refresh OAuth token before expiry
- [BUG] --brief mode silently swallows authentication errors (401), showing no output
- [Bug] claude auth login does not complete on headless servers (SSH)
- [Feature Request] Add internationalization (i18n) support for CLI interface
- [Bug] MCP OAuth tokens for Google Workspace accounts require re-authorization every session
- [Bug] Unexpected session logout causing task state loss
- [BUG] API Error: 401 — authentication_error: OAuth token
- OAuth MCP servers fail in remote-control mode due to disabled redirect handling
- awsAuthRefresh Credential Reload Issues - Inconsistent Behavior and Multi-Session Failures
- streamable-http MCP transport ignored, falls back to SSE
- [BUG] OAuth token expires 5-10 times within a single session, requiring constant /login
- OAuth refresh token never used — forces re-login every 8 hours
- OAuth token refresh race condition with multiple concurrent CLI processes
- MCP OAuth tokens not persisting across sessions (HTTP transport)
- unusually fast 30 minute token burn in Claude pro
- [BUG] MCP Atlassian OAuth tokens stored but not retrieved for SSE connection (400 error)
- [BUG] MCP OAuth: "Token expired without refresh token" despite refresh token being stored in Keychain
- [BUG] Claude Code VSCode extension stops responding on Cursor — double activation and process duplication (works on v2.1.1)
- Sessions should pick up refreshed AWS credentials without restart
- Bug: GOOGLE_REFRESH_TOKEN not passed to MCP server process
- [Bug] MCP OAuth refresh tokens stored but never used - causing widespread auth failures
- [BUG]
- Supabase plugin requires re-authentication on every new session (regression)
- [BUG] OAuth token expiration causing repeated 401 errors despite re-authentication
- [Bug] File search functionality broken after upgrade to 2.1.9
- OAuth token expires mid-session in Claude Desktop with no recovery path
- MCP OAuth tokens expire in idle conversations with no way to re-authenticate
- Retain user input after OAuth token expiration and re-login
- [BUG]
- [FEATURE]
- [Bug] Claude Opus hallucinating fabricated system-reminder blocks with fake tool results
- [FEATURE] Decision History Tracking with DECISIONS.md
- [Bug] /context command returns textual error instead of loading context
- [Bug] Anthropic API Error: OAuth token expiration not handled, requires manual /login restart
- [Bug] Context low warning triggers despite available token budget
- Teleport doesn't work. I started a Claude Code session on...
- [Bug] Unauthorized git push to main branch without user confirmation
- [BUG] Claude Code Browser - Persistent disconnection for Max subscribers requiring daily re-authentication
- [DOCS] Document default OAuth token `expires_in` behavior when omitted
- Agent creation in recommended mode doesn't work
- [Bug] Repeated Compaction Fails with "Conversation Too Long" Error
- Claude asks "Do you trust the files in this folder?" every launch
- [Bug] Anthropic API Error: Invalid Compact Message Content
- Missing Tool Result Block for Tool Use ID toolu_01TtqtoE6BkdCjrQPZtqCDbJ
- Anthropic API Authentication Token Expired
- Its my 3rd time getting this message for no reason " ...
- [BUG][Max Plan] OAuth Login Blocked - 'OAuth token has expired' Error on Every Login Attempt
- MCP OAuth credentials persisted with expiresAt: 0 and no refreshToken, forcing re-auth every session (mcp.grafana.com, mcp.slack.com)
- [FEATURE] Supported way to share/copy credentials between CLAUDE_CONFIG_DIR profiles (macOS Keychain makes file-level workarounds impossible)
- remote-control: session children exit on expired session_token with no refresh, then daemon permanently refuses to re-spawn them
- [BUG] macOS DarkWake: transient DNS failure during OAuth refresh loses login
- [BUG] Platform incidents (Aug 4/5) force-logged-out multiple different Claude accounts simultaneously — refresh tokens invalidated, manual re-login required on every account
- [BUG] Mobile attach to ONE specific local session returns 401 'OAuth access token expired' after account token rotation; bridge binding is server-authoritative and survives every local remedy
- MCP OAuth: client performs full re-authorization at session start while valid refresh tokens exist
- Claude GitHub App stuck as "Authorized OAuth App" — never completes installation, all repo writes fail with 403
- [BUG] Claude Desktop 3P: managedMcpServers OAuth never refreshes on-demand — a failed silent refresh 403s every call until manual reconnect
- Desktop app: add a way to restart/reload a session's MCP connections without losing history (mid-session re-auth support)
- [DOCS] [Authentication] No documentation for the v2.1.203 proactive login-expiry warning that prevents background-session interruption
- MCP OAuth: parallel sessions sharing the credential store break refresh-token rotation (family revoked, all sessions forced to interactive re-auth)
- [BUG] MCP OAuth re-auth UI not shown for page reload/background Streamable HTTP auth failure
- Security: undeclared HTTP MCP transport persisted with credentials in global .credentials.json, presented as a project MCP, survives config removal
- Hosted Notion MCP (DCR): client re-registers per session → repeated full re-auth (orphaned refresh tokens)
- [Bug] Single-use OAuth refresh token consumed by test copy invalidates production token
- claude.ai Shopify MCP: token-expired loop after multi-shop switch, unrecoverable from client side
- [BUG] Cowork Gmail/Outlook MCP connectors lose auth state, require disconnect-reconnect cycles repeatedly
- [BUG] OAuth token refresh never attempted for custom connectors via mcp-proxy.anthropic.com
- OAuth token expiration is too short for Max subscribers
- Gmail MCP: Draft link fails to open with no error feedback
- [DOCS] Troubleshooting missing macOS keychain guidance for Console login "Not logged in" errors
- [BUG] OAuth token expired → /login times out, no recovery path
- [BUG] OAuth token refresh returns persistent 429 for headless automation account (1 call/4h, started ~March 20)