Linux desktop app: OAuth login fails after Google consent (no handler for callback deeplink)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Oct 10, 2026

Environment

  • Claude Code desktop app on Ubuntu (headless server, no desktop environment)
  • Recurs on every app/server restart
  • Not reproducible on Windows

Repro

  1. Launch the Claude Code desktop app
  2. Choose Google sign-in
  3. Complete the Google OAuth consent in the browser
  4. The browser attempts to hand control back to the app and fails — the OS reports no application is registered to open the callback link

Expected

Login completes.

Actual

Login fails at the browser→app handoff. The app returns via a custom URL-scheme deeplink (e.g. claude://…), and no x-scheme-handler is registered on a headless Linux box. The registration also doesn't persist across reboots, so it recurs on every restart.

Workaround

The terminal claude login works reliably because it uses a loopback redirect (http://localhost:<port>) that needs no OS protocol-handler registration.

Suggested fix

On Linux, fall back to the loopback redirect for the desktop app's OAuth flow, or register the x-scheme-handler persistently at install and document the headless-server case. (Windows is unaffected because the handler is written to the registry at install.)

View original on GitHub ↗