[BUG] OAuth login fails on Raspberry Pi (linux-arm64): "Invalid OAuth Request - Unknown scope: u"

Open 💬 0 comments Opened Jul 4, 2026 by amuelder

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?

What's Wrong?

When attempting to log in via claude (interactive OAuth flow) over SSH on a Raspberry Pi 4, the browser shows:

Invalid OAuth Request
Unknown scope: u

The scope parameter appears heavily truncated, down to a single character "u". This happens whether I use the manual copy or the built-in c (copy to clipboard) shortcut, so it is not a terminal line-wrapping / manual-selection issue on my end.

This matches the pattern reported in #34308, #57246, and #38749, but with a more extreme truncation (single character instead of a partial word).

Environment

  • Claude Code version: 2.1.201 (native install, confirmed latest via claude doctor)
  • Platform: linux-arm64
  • Hardware: Raspberry Pi 4 Model B Rev 1.5
  • OS: Raspberry Pi OS Lite (64-bit), Debian Trixie, kernel 6.18.34+rpt-rpi-v8
  • Install method: native installer (curl -fsSL https://claude.ai/install.sh | bash)
  • Connection: SSH session from macOS client
  • Account type: Claude Pro subscription

Steps to Reproduce

  1. Install Claude Code natively on a Raspberry Pi 4 running Raspberry Pi OS Lite (64-bit)
  2. Connect via SSH from a separate machine (no local browser on the Pi)
  3. Run claude
  4. At the login prompt, press c to copy the OAuth URL to clipboard (clipboard forwarding via OSC52 works correctly)
  5. Paste the URL into a browser on the local (client) machine
  6. Observe the error page

Expected Behavior

The OAuth authorization page should load normally with the correct scope parameters, allowing login to complete (either via automatic redirect or a manual code to paste back into the terminal, per the documented headless flow).

Actual Behavior

Browser shows "Invalid OAuth Request - Unknown scope: u" and the flow cannot be completed.

Additional Context

  • claude doctor reports no other issues (Diagnostics ✓, Updates ✓)
  • This blocks any Pro/Max subscription login on this environment; no workaround via /feedback is possible since the CLI never reaches an authenticated, interactive state
  • Also tried claude setup-token as an alternative auth path: identical error ("Unknown scope: u"). This rules out a single-code-path issue; the scope parameter appears malformed regardless of which login command generates the OAuth URL.
  • Also tried the Console/API login option: identical failure pattern, but with a different truncation point ("Unknown scope: user:sessions:claude_c" instead of "u" from the subscription OAuth attempt). The scope truncation is inconsistent across attempts, which points to a non-deterministic bug in scope construction rather than a fixed client-side or network-level cause.

What Should Happen?

The OAuth authorization page should load normally with the correct scope parameters, allowing login to complete (either via automatic redirect or a manual code to paste back into the terminal, per the documented headless flow).

Error Messages/Logs

Invalid OAuth Request
Unknown scope: u

Steps to Reproduce

  1. Install Claude Code natively on a Raspberry Pi 4 running Raspberry Pi OS Lite (64-bit)
  2. Connect via SSH from a separate machine (no local browser on the Pi)
  3. Run claude
  4. At the login prompt, press c to copy the OAuth URL to clipboard (clipboard forwarding via OSC52 works correctly)
  5. Paste the URL into a browser on the local (client) machine
  6. Observe the error page

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.201

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗