[BUG] OAuth Authentication Error: Missing client_id parameter in WSL environment

Status Fixed / completed
Maintainer reply ✓ Yes — ant-kurt
Activity 5 comments · opened May 4, 2025 · closed Jul 21, 2025
💡 Likely answer: A maintainer (ant-kurt, collaborator) responded on this thread — see the highlighted reply below.

Issue Report: OAuth Authentication Error in WSL Environment

Environment Details

  • Operating System: Windows 11 with WSL2
  • WSL Distribution: Ubuntu 24.04.1 LTS
  • WSL Kernel: 5.10.16.3-microsoft-standard-WSL2
  • Node.js Version: v18.19.1
  • npm Version: 9.2.0
  • Claude Code Version: 0.2.100

Issue Description

When attempting to authenticate Claude Code in WSL2, the OAuth process consistently fails with the error "Invalid OAuth Request - Missing client_id parameter". This occurs despite the client_id being present in the OAuth URL. The error appears when clicking the authentication URL in a browser.

Steps to Reproduce

  1. Installed Claude Code in WSL using npm install -g @anthropic-ai/claude-code
  2. Created an Anthropic Console account and purchased API credits ($5)
  3. Generated an API key in the Anthropic Console
  4. Ran claude command in a project directory
  5. Selected theme preferences (Dark mode)
  6. Selected authentication method (Anthropic Console - API usage billing)
  7. Copied the OAuth URL provided by Claude Code
  8. Opened the URL in a browser
  9. Consistently received the "Invalid OAuth Request - Missing client_id parameter" error

Error Messages

Browser didn't open? Use the url below to sign in:
https://console.anthropic.com/oauth/authorize?code=true&client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e&response_type=code&redirect_uri=https%3A%2F%2Fconsole.anthropic.com%2Foauth%2Fcode%2Fcallback&scope=org%3Acreate_api_key+user%3Aprofile+user%3Ainference&code_challenge=QvjXUbJw3MMoU-BFv2pvUCZPk24nxmRYUsaXILVhCh4&code_challenge_method=S256&state=tp-waf3sqOGfzxEdg_H3RLuoHaeVcjTO1FTk_CduCyI
Invalid OAuth Request
Missing client_id parameter

Attempted Solutions

  1. Direct API key configuration:
  • Set API key via environment variable: export ANTHROPIC_API_KEY="sk-ant-api03..."
  • Verified the environment variable was set: echo $ANTHROPIC_API_KEY
  • Configured model versions: export ANTHROPIC_MODEL="claude-3-7-sonnet-20250219"
  1. WSL configuration:
  • Verified Node.js is properly installed in WSL: which node shows /usr/bin/node
  • Verified npm is properly installed in WSL: which npm shows /usr/bin/npm
  1. Reinstallation attempts:
  • Uninstalled Claude Code: npm uninstall -g @anthropic-ai/claude-code
  • Cleared npm cache: npm cache clean --force
  • Reinstalled Claude Code: npm install -g @anthropic-ai/claude-code
  1. OAuth bypass attempts:
  • Tried setting export CLAUDE_CODE_SKIP_OAUTH=true
  • Tried creating a configuration file: ~/.config/claude-code/config.json

Expected Behavior

The OAuth URL should properly include the client_id parameter, and the browser should display the Anthropic authorization page rather than an error message.

Observations

The issue appears to be specific to the WSL environment. The client_id is present in the URL (9d1c250a-e61b-44d9-88ed-5944d1962f5e), but the OAuth request fails, suggesting a possible issue with how OAuth requests are handled when bridging from WSL to Windows browsers.

Additional Notes

I've successfully set up an API key and credits in the Anthropic Console but cannot use Claude Code in WSL due to this authentication issue. Using the console.anthropic.com web interface works without issues.

View original on GitHub ↗

5 Comments

sebthom · 1 year ago

I am having the same issue on Windows 10 with claude 1.0.51 installed natively on Windows. It opens Edge Browers and shows the error "Missing client_id parameter".

adnangohar · 1 year ago

I am having the same issue as well.

alexander-entin · 1 year ago

same with Claude installed on Win 11

ant-kurt collaborator · 1 year ago

Automatic URL opening in Windows native should be working properly in v1.0.54.

For WSL, you'll need to be careful to copy the whole URL - I typically do this by highlighting and right clicking (left clicking to paste the code from the browser).

github-actions[bot] · 1 year ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.