/desktop command fails on Windows Store (MSIX) installation

Open 💬 7 comments Opened May 17, 2026 by jbk1998

Bug Description

The /desktop slash command fails with "Failed to open Claude Desktop. Please try opening it manually." when Claude Desktop is installed via the Microsoft Store (MSIX package) on Windows.

Environment

  • OS: Windows 11 Pro 10.0.26200
  • Claude Code CLI: v2.1.143 (installed at ~\.local\bin\claude.exe)
  • Claude Desktop: Microsoft Store package Claude_1.7196.0.0_x64__pzs8sxrjxfjjc
  • Remote Control: Enabled and working (mobile app connects successfully)

Steps to Reproduce

  1. Install Claude Desktop from the Microsoft Store
  2. Start a Claude Code CLI session with remoteControlAtStartup: true
  3. Run /desktop in the CLI session
  4. Observe: "Failed to open Claude Desktop. Please try opening it manually."

Root Cause

The /desktop command likely searches for the Desktop app at a traditional install path (e.g., %LOCALAPPDATA%\Programs\Claude\Claude.exe), which doesn't exist for MSIX/Store installations. The Store app is at:

C:\Program Files\WindowsApps\Claude_1.7196.0.0_x64__pzs8sxrjxfjjc\app\Claude.exe

This path is not directly launchable via Start-Process for Store apps.

Working Workaround

The Claude Desktop MSIX package registers the claude:// protocol handler. Launching via protocol URI works perfectly:

# Read the bridge session ID from the active session file
$session = Get-Content "$env:USERPROFILE\.claude\sessions\<PID>.json" | ConvertFrom-Json
Start-Process "claude://code/$($session.bridgeSessionId)"

This correctly opens the CLI session in the Desktop app with full Remote Control functionality.

Proposed Fix

The /desktop command should fall back to the claude://code/<bridgeSessionId> protocol handler when:

  1. The Desktop executable is not found at the expected path, OR
  2. The platform is Windows and the Store package is detected (Get-AppxPackage -Name "Claude")

The protocol handler approach is more robust across all installation methods (Store, traditional installer, and Chocolatey/Scoop) since it delegates app resolution to the OS.

Additional Context

  • The claude:// protocol is registered in the MSIX manifest as <uap3:Protocol Name="claude" Parameters="%1" />
  • The app's AUMID is Claude_pzs8sxrjxfjjc!Claude
  • Mobile Remote Control works correctly (same bridgeSessionId), confirming the issue is solely in how /desktop locates/launches the app

View original on GitHub ↗

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