Summary
When claude login (or the first ccd) is invoked inside the workspace container, the OAuth flow opens the host browser correctly, but the callback redirect to http://localhost:XXXX/callback never reaches
the CLI. The browser tab spins, the CLI sits waiting, and authentication never completes.
Steps to reproduce
- Fresh dev container with no
~/.claude/.credentials.json on the host
- Open project in VS Code → "Dev Containers: Reopen in Container"
- Inside the container terminal:
ccd or claude
- Open/Copy the printed OAuth URL in the host browser, approve
- Browser redirects to
http://localhost:XXXX/callback?code=...
- Tab hangs, CLI never receives the callback, eventually times out
Expected
Callback reaches the CLI's localhost listener inside the container, CLI prints "Login successful", credentials are written to /home/vscode/.claude/.credentials.json.
Actual
Callback never arrives at the in-container listener. CLI waits indefinitely (or until timeout).
Summary
When
claude login(or the firstccd) is invoked inside the workspace container, the OAuth flow opens the host browser correctly, but the callback redirect tohttp://localhost:XXXX/callbacknever reachesthe CLI. The browser tab spins, the CLI sits waiting, and authentication never completes.
Steps to reproduce
~/.claude/.credentials.jsonon the hostccdorclaudehttp://localhost:XXXX/callback?code=...Expected
Callback reaches the CLI's localhost listener inside the container, CLI prints "Login successful", credentials are written to
/home/vscode/.claude/.credentials.json.Actual
Callback never arrives at the in-container listener. CLI waits indefinitely (or until timeout).