[BUG] Claude Desktop - Google OAuth login loop, claude:// callback not delivered to running instance (Windows Store)
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
- Install Claude Desktop from the Microsoft Store on Windows 11
- Launch the app from the Start Menu — observe "The parameter is incorrect" error
- 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
- Click "Sign in with Google" — the system browser opens Google's sign-in page
- Complete Google authentication in the browser
- The browser generates a
claude://login/google-auth?code=...callback URL - The callback is NOT delivered to the running Claude Desktop instance
- A second
claude.exeprocess is briefly spawned, detects the first instance, and exits
("Not main instance, returning early from app ready")
- The app returns to the login screen — loop repeats indefinitely
---
Root Cause (Suspected)
The claude:// protocol handler registered inHKCU\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=""%1"" />
</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
.exeinstaller - 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" />
- 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
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗