[BUG] OAuth authentication is currently not supported

Resolved 💬 8 comments Opened Nov 20, 2025 by kobenauf Closed Feb 1, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

As of Nov 18, the VS Code Claude Code extension no longer authenticates.

  • Claude Code OAuth tokens are being rejected with: 'OAuth authentication is currently not supported'
  • This started after the Nov 18 outage
  • OAuth flow completes but tokens can't be used with the API

Details:
Before this problem, the oauth authentication flow had me authorize a session in a browser, enter the key it gave me in the claude code extension UI entry field, and it successfully connected me to my previous sessions. Now after authorizing the session in a browser, retrieving the key, and entering in the VS Code Claude Code field for the key, the contents of the Claude Code extension disappear. I see this output in the console:
2025-11-20 17:37:51.394 [info] Received message from webview: {"type":"request","requestId":"0ttf1749pns","request":{"type":"login","method":"claudeai"}}
2025-11-20 17:37:51.395 [info] Starting OAuth login flow: method=claudeai
2025-11-20 17:37:51.415 [info] From claude: 2025-11-20T17:37:51.414Z [DEBUG] Ripgrep first use test: PASSED (mode=builtin, path=/home/jupyter/.vscode-server/extensions/anthropic.claude-code-2.0.47-linux-x64/resources/native-binary/claude)

2025-11-20 17:37:51.424 [info] From claude: 2025-11-20T17:37:51.424Z [DEBUG] Skills and commands included in Skill tool:
2025-11-20T17:37:51.424Z [DEBUG] Slash commands included in SlashCommand tool:

2025-11-20 17:37:51.425 [info] From claude: 2025-11-20T17:37:51.425Z [ERROR] "Error: Error: Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the \"X-Api-Key\" or \"Authorization\" headers to be explicitly omitted\n at validateHeaders (/$bunfs/root/claude:731:1013)\n at buildHeaders (/$bunfs/root/claude:731:8516)\n at async buildRequest (/$bunfs/root/claude:731:7582)\n at async makeRequest (/$bunfs/root/claude:731:3410)\n at processTicksAndRejections (native:7:39)"
Failed to fetch subscription: AxiosError: Request failed with status code 401

What Should Happen?

Claude Code VSCode extension should authenticate the session successfully.

Error Messages/Logs

Steps to Reproduce

  1. In VS Code, run the command: Claude Code: Logout.
  2. Reload the window: Developer: Reload Window.
  3. In the Claude Code extension, click Claude.ai Subscripion. Copy the URL to a browser.
  4. Authorize the session in the browser. Copy the key.
  5. In VS Code Claude Code Extension enter the key from step 4.

Result: The Claude Code extension goes blank, and this output is in the logs:

2025-11-20 18:18:53.398 [info] From claude: 2025-11-20T18:18:53.398Z [DEBUG] Skills and commands included in Skill tool:
2025-11-20T18:18:53.398Z [DEBUG] Slash commands included in SlashCommand tool:

2025-11-20 18:18:53.399 [info] From claude: 2025-11-20T18:18:53.399Z [ERROR] "Error: Error: Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the \"X-Api-Key\" or \"Authorization\" headers to be explicitly omitted\n    at validateHeaders (/$bunfs/root/claude:731:1013)\n    at buildHeaders (/$bunfs/root/claude:731:8516)\n    at async buildRequest (/$bunfs/root/claude:731:7582)\n    at async makeRequest (/$bunfs/root/claude:731:3410)\n    at processTicksAndRejections (native:7:39)"

2025-11-20 18:18:53.399 [info] From claude: 2025-11-20T18:18:53.399Z [ERROR] "Error: Error: Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the \"X-Api-Key\" or \"Authorization\" headers to be explicitly omitted\n    at validateHeaders (/$bunfs/root/claude:731:1013)\n    at buildHeaders (/$bunfs/root/claude:731:8516)\n    at async buildRequest (/$bunfs/root/claude:731:7582)\n    at async makeRequest (/$bunfs/root/claude:731:3410)\n    at processTicksAndRejections (native:7:39)"

2025-11-20 18:18:53.400 [info] From claude: 2025-11-20T18:18:53.400Z [DEBUG] Ripgrep first use test: PASSED (mode=builtin, path=/home/jupyter/.vscode-server/extensions/anthropic.claude-code-2.0.47-linux-x64/resources/native-binary/claude)

2025-11-20 18:19:52.389 [info] From claude: 2025-11-20T18:19:52.389Z [DEBUG] Getting matching hook commands for SessionEnd with query: other
2025-11-20T18:19:52.389Z [DEBUG] Found 0 hook matchers in settings

2025-11-20 18:19:52.390 [info] From claude: 2025-11-20T18:19:52.389Z [DEBUG] Matched 0 unique hooks for query "other" (0 before deduplication)

2025-11-20 18:19:52.391 [info] From claude: 2025-11-20T18:19:52.390Z [DEBUG] Cleaned up session snapshot: /home/jupyter/.claude/shell-snapshots/snapshot-bash-1763662732886-7tv6p3.sh

2025-11-20 18:19:52.391 [info] From claude: 2025-11-20T18:19:52.391Z [DEBUG] LSP server manager shut down successfully

2025-11-20 18:19:52.391 [info] From claude: 2025-11-20T18:19:52.391Z [DEBUG] BigQuery metrics exporter flush complete
2025-11-20T18:19:52.391Z [DEBUG] BigQuery metrics exporter flush complete

2025-11-20 18:19:52.391 [info] From claude: 2025-11-20T18:19:52.391Z [DEBUG] BigQuery metrics exporter shutdown complete

2025-11-20 18:19:56.129 [info] Received message from webview: {"type":"request","requestId":"xxx","request":{"type":"login","method":"claudeai"}}
2025-11-20 18:19:56.131 [info] Starting OAuth login flow: method=claudeai
2025-11-20 18:20:10.576 [info] Received message from webview: {"type":"request","requestId":"xxx","request":{"type":"submit_oauth_code","code":"xxx#xxx"}}
2025-11-20 18:20:10.577 [info] Handling manual auth code input
2025-11-20 18:20:10.607 [info] Received message from webview: {"type":"request","requestId":"xxx","request":{"type":"submit_oauth_code","code":"xxx#xxx"}}
2025-11-20 18:20:10.608 [info] Handling manual auth code input
2025-11-20 18:20:11.022 [error] Failed to fetch subscription: AxiosError: Request failed with status code 401
2025-11-20 18:20:11.025 [info] Saving OAuth tokens to secure storage
2025-11-20 18:20:11.025 [info] Login successful
2025-11-20 18:20:11.025 [info] Getting authentication status
2025-11-20 18:20:11.026 [info] OAuth tokens found in secure storage
2025-11-20 18:20:11.026 [info] Auth status: method=claudeai
2025-11-20 18:20:11.026 [info] Closing Claude on channel: xxx

Claude Model

Sonnet (default)

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Claude Code for VS Code v 2.0.47

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

_No response_

View original on GitHub ↗

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