[BUG] VS Code extension host crashes when OAuth /api/oauth/claude_cli/client_data returns 429 — no backoff, kills all extensions

Resolved 💬 2 comments Opened Mar 3, 2026 by ghost Closed Apr 1, 2026

Summary

When the Claude Code VS Code extension (anthropic.claude-code) receives a HTTP 429 response from the OAuth endpoint https://api.anthropic.com/api/oauth/claude_cli/client_data, it retries in a tight loop with no exponential backoff. This saturates the extension host IPC channel, which then crashes — taking all other VS Code extensions (GitHub Copilot Chat, GitHub Pull Request, etc.) down with it.

Extension Version

anthropic.claude-code v2.1.63 on Linux x64

Crash Chain

1. Claude subprocess continuously polls:
   GET https://api.anthropic.com/api/oauth/claude_cli/client_data
   → HTTP 429 "Rate limited. Please try again later."

2. No backoff — fires ~10+ times per second

3. Extension host IPC channel saturated → write after end

4. Entire extension host process dies:
   Error: Channel has been closed  (×50+ in rapid succession)
   Error: write after end

5. All other extensions in the window lose their host:
   Copilot Chat, GitHub PR, Python, Ruff, etc. — all crash

Logs

From ~/.config/Code/logs/.../window1/exthost/Anthropic.claude-code/Claude VSCode.log:

2026-03-03T18:01:02.846Z [ERROR] "AxiosError: [url=https://api.anthropic.com/api/oauth/claude_cli/client_data,status=429,body=Rate limited. Please try again later.] Error"
2026-03-03T18:01:02.847Z [ERROR] "AxiosError: [url=https://api.anthropic.com/api/oauth/claude_cli/client_data,status=429,body=Rate limited. Please try again later.] Error"
2026-03-03T18:01:02.847Z [ERROR] "AxiosError: [url=https://api.anthropic.com/api/oauth/claude_cli/client_data,status=429,body=Rate limited. Please try again later.] Error"
... (repeats ~10x within 1ms)

From exthost.log (immediately after):

2026-03-03 23:46:07.560 [error] Error: Channel has been closed
    at Object.stderr (/home/flash/.vscode/extensions/anthropic.claude-code-2.1.63-linux-x64/extension.js:...)
    at Socket.<anonymous> (anthropic.claude-code-2.1.63-linux-x64/extension.js:...)
... (×50+ entries all at 23:46:07.xxx)
2026-03-03 23:46:07.941 [error] Error: write after end

The crash happened multiple times over ~1 hour, each time requiring VS Code to fully restart all extensions.

Expected Behavior

When a 429 is received on client_data:

  1. Stop retrying immediately
  2. Apply exponential backoff (e.g. 60s, 120s, 240s...)
  3. Show a status bar warning rather than crashing the extension host
  4. Gracefully degrade — the agent should pause, not kill the process

Environment

  • OS: Linux (Ubuntu-based)
  • VS Code: 1.97.x
  • Extension: anthropic.claude-code v2.1.63
  • Auth: OAuth (Anthropic account, not API key)
  • Concurrent agents during crash: Yes (multiple Copilot agent sessions active)

Workaround

None reliable. Signing out + back in temporarily clears the rate limit, but the crash recurs if the limit is hit again. Disabling the Claude Code extension prevents the crash but removes all functionality.

Impact

High — The crash doesn't just affect Claude Code. It kills the entire VS Code extension host, interrupting all other extensions and active agent sessions mid-task.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗