[BUG] VS Code Extension OAuth broken on Linux - malformed redirect URI + subscription 401

Resolved 💬 3 comments Opened Mar 15, 2026 by NickNak86 Closed Mar 19, 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?

The VS Code extension OAuth flow fails on Linux Mint. Web authorization reports success, but every subsequent API call returns 401 Invalid bearer token.

What Should Happen?

Expected: Authentication succeeds and extension connects to Pro subscription.

Error Messages/Logs

Key log evidence:
[error] Failed to fetch subscription: AxiosError: Request failed with status code 401
[info] Saving OAuth tokens to secure storage
[info] Login successful
[DEBUG] [clientData] skipped: not OAuth subscriber or missing profile scope
[ERROR] API error (attempt 1/11): 401 {"type":"error","error":{"type":"authentication_error","message":"Invalid bearer token"}}
Root cause observed: The OAuth redirect URI is malformed — single slash instead of double:
Redirect URI http:/localhost:36375/callback is not supported by client
This causes the token exchange to issue a token without the required user:profile scope, so subscription verification fails with 401 immediately after every login.
Note: claude auth login in terminal works perfectly. This is purely a VS Code extension OAuth issue on Linux.

Steps to Reproduce

Install Claude Code extension on Linux Mint / Ubuntu
Open VS Code → Claude Code panel → Sign in with Claude.ai Subscription
Complete web authorization (reports success)
Observe 401 immediately on any prompt

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.76 Claude Code VS Code Extension

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 3 comments on GitHub. Read the full discussion on GitHub ↗