[BUG] Claude Desktop - Google OAuth login loop, claude:// callback not delivered to running instance (Windows Store)

Resolved 💬 2 comments Opened Mar 6, 2026 by smartbug Closed Mar 9, 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?

Claude Desktop (installed via Windows Store) cannot complete Google OAuth login.
After the user finishes signing in through the system browser, the claude:// callback URL
is never delivered to the running app instance. The app gets stuck in a permanent login loop
with no error shown to the user.

Additionally, launching the app from the Start Menu produces a Windows error:
"The parameter is incorrect" referencing:
C:\Program Files\WindowsApps\Claude_1.1.5368.0_x64__pzs8sxrjxfjjc\app\claude.exe

What Should Happen?

After completing Google sign-in in the system browser, the claude://login/google-auth?code=...
callback URL should activate the already-running Claude Desktop instance, deliver the OAuth code,
and log the user in successfully — transitioning to the main app screen.

Error Messages/Logs

From `%AppData%\Claude\logs\main.log`:


[info]  [account] Login state changed (loggedOut: true → false), clearing bootstrap cache
[info]  claude.ai account active and logged in
[warn]  [getBootstrapData] Bootstrap response has no account — user may not be logged in
[warn]  [LocalSessionManager] Cannot initialize sessions: accountId=null, orgId=null.
[info]  [account] Login state changed (loggedOut: false → true), clearing bootstrap cache
[info]  [Auth] Using system browser for: /login/app-google-auth   ← retries every ~30s
[info]  Not main instance, returning early from app ready          ← second instance exits immediately
[error] Failed to fetch skills list: 403 {"error":{"type":"permission_error","message":"Invalid authorization","details":{"error_code":"account_session_invalid"}}}
[error] Auto-update error: Error: Can not find Squirrel
[error] [Chrome Extension MCP] Failed to copy native host binary: Error: EBUSY: resource busy or locked


The `claude://` callback URL observed after Google auth:

claude://login/google-auth?code=<AUTH_CODE>&anon_id=claudeai.v1.<UUID>

Steps to Reproduce

  1. Install Claude Desktop from the Microsoft Store on Windows 11
  2. Launch the app from the Start Menu — observe "The parameter is incorrect" error
  3. Launch the app directly via the exe at:

C:\Program Files\WindowsApps\Claude_1.1.5368.0_x64__pzs8sxrjxfjjc\app\claude.exe
The app opens successfully

  1. Click "Sign in with Google" — the system browser opens Google's sign-in page
  2. Complete Google authentication in the browser
  3. The browser generates a claude://login/google-auth?code=... callback URL
  4. The callback is NOT delivered to the running Claude Desktop instance
  5. A second claude.exe process is briefly spawned, detects the first instance, and exits

("Not main instance, returning early from app ready")

  1. The app returns to the login screen — loop repeats indefinitely

---

Root Cause (Suspected)

The claude:// protocol handler registered in
HKCU\Software\Classes\claude\shell\open\command points directly to the exe:

"C:\Program Files\WindowsApps\Claude_1.1.5368.0_x64__pzs8sxrjxfjjc\app\claude.exe" "%1"

When the browser invokes this URL, Windows launches a new exe instance via CreateProcess
instead of activating the existing instance through the Windows Store activation framework.
The second instance detects the first is already running (Electron single-instance lock)
and exits immediately — without forwarding the OAuth code to the first instance.

The AppxManifest.xml correctly declares the protocol:

<uap3:Extension Category="windows.protocol">
  <uap3:Protocol Name="claude" Parameters="&quot;%1&quot;" />
</uap3:Extension>

But the HKCU registry entry overrides the proper Store app activation path.

---

What Was Already Tried (No Fix)

| Action | Result |
|---|---|
| Uninstall and reinstall from Microsoft Store | No change |
| Cleared all session data in %AppData%\Claude\ (Preferences, Local State, Session Storage, Local Storage, IndexedDB, DIPS, SharedStorage, WebStorage) | No change |
| Re-registered app via Add-AppxPackage -DisableDevelopmentMode -Register AppxManifest.xml | No change |
| Removed HKCU\Software\Classes\claude registry key to force Windows Store activation path | No change |

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.70 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

  • App is installed as a Windows Store (MSIX/AppX) package, not via the traditional .exe installer
  • Auto-update fails with "Can not find Squirrel" — expected for Store installs, not the primary issue
  • App version: 1.1.5368

claude_desktop_bug_report.md
<img width="515" height="164" alt="Image" src="https://github.com/user-attachments/assets/860a1a92-a92c-42e5-9d6a-2b10aba5eec4" />

main.log

  • Package full name: Claude_1.1.5368.0_x64__pzs8sxrjxfjjc
  • Install location: C:\Program Files\WindowsApps\Claude_1.1.5368.0_x64__pzs8sxrjxfjjc
  • Log file to attach: %AppData%\Claude\logs\main.log

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗