[BUG] Windows Desktop (MSIX): spawn EFTYPE at session start — fails before any syscall on a verified-clean environment

Status Fixed / completed
Reported on v2.1.218
Maintainer reply None cached
Activity 1 comment · opened Jul 24, 2026 · closed Jul 24, 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 Code sessions fail immediately in the Windows desktop app (MSIX). The Code tab shows "Claude Code couldn't start / spawn EFTYPE" the instant Enter is pressed, before any session UI renders. Chat works normally; only local Code sessions fail.

Three identical failures occur per attempt, from getAgents, getSupportedCommands, and getCommands — all via zQ.initialize -> spawnLocalProcess.

The thrown error contains no path and no spawnargs, so neither the UI nor the logs reveal what was being launched.

Key evidence:

  1. No syscall ever fails. Process Monitor during the failure shows zero Process Create attempts and zero failed file/registry operations. The spawn target is rejected before CreateProcessW is reached.
  1. The environment spawns correctly. A Node script replicating the app's spawn conditions on the same machine, PATH, and cwd succeeded on 14/14 real spawns (cmd, powershell, git, bash, claude.exe by path and by name, shell:true, project cwd, temp cwd, windowsHide, detached). Controls: an empty command gives ERR_INVALID_ARG_VALUE and spawning a directory gives ENOENT — neither produces EFTYPE on this machine.
  1. The MSIX package ships no Claude Code CLI. It contains only app\claude.exe (232,851,792 bytes, Electron shell), chrome-native-host.exe (1,018,704), and cowork-svc.exe (12,683,088). No CLI is present and none is ever downloaded into the container.

Environment verified clean: container fully initialised, mcpServers {} and claude mcp list empty, no CLAUDE_* variables set, TEMP/TMP at Windows defaults, git and bash both on PATH, CLI 2.1.218 installed separately and working perfectly in terminal. Reproduces within seconds of a fresh reboot.

Secondary bug: before repairing ACLs, %LOCALAPPDATA%\Packages lacked an ALL APPLICATION PACKAGES ACE. The container was created empty, sign-in failed silently (browser auth succeeded, app never received the callback), and no error surfaced anywhere. Granting Modify to *S-1-15-2-1 fixed both immediately. A startup writability check would surface this in seconds. This did NOT fix the EFTYPE.

What Should Happen?

The session starts. If a required binary is missing, the app downloads it or reports the missing path. It should not attempt to spawn an unresolved target, and the error should include path and spawnargs.

Error Messages/Logs

error: Error: spawn EFTYPE
    at ChildProcess.spawn (node:internal/child_process:441:11)
    at Object.spawn (node:child_process:810:9)
    at zQ.spawnLocalProcess (...\app.asar\.vite\build\index.chunk-DwT2CckN.js:100:2244)
    at zQ.initialize   (...\index.chunk-DwT2CckN.js:100:7279)
    at new zQ          (...\index.chunk-DwT2CckN.js:100:1534)
    at sg              (...\index.chunk-DwT2CckN.js:128:142610)
    at Module.ule [as query] (...\index.chunk-DwT2CckN.js:129:501)
    at j.withTemporaryQuery    (...\index.chunk-CnvIbZyw.js:372:18207)
    at async Object.getSupportedCommands (...\index.chunk-CjZDLvU_.js:16:21173)
    at async Session.<anonymous> (node:electron/js2c/browser_init:2:119861) {
    errno: -4028,
    code: 'EFTYPE',
    syscall: 'spawn'
}

Identical failures also thrown from getAgents and

Steps to Reproduce

  1. Install Claude desktop on Windows from claude.ai/download (delivers MSIX)
  2. Open the Code tab and start a local session in any folder
  3. Press Enter — "spawn EFTYPE" appears immediately, before any session UI renders

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.218, desktop package is Claude_1.24012.1.0_x64__pzs8sxrjxfjjc

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

Summary

The desktop app's Code tab fails to launch Claude Code with spawn EFTYPE.
This is a regression — it worked on this machine previously. The CLI (v2.1.218)
launches and runs normally, same machine, same user.

Background

This worked before the ACL damage.** The Code tab launched normally on this
machine until the profile permissions were broken. Every other symptom of that
damage has been repaired and verified; the Code tab is the only thing that did
not come back.

  • Profile root ACLs restored (Chrome's "Profile error occurred" dialog is gone)
  • SYSTEM entry restored
  • ALL APPLICATION PACKAGES set to Modify on the Packages tree
  • App container now builds successfully
  • Desktop sign-in works
  • Profile registry clean, no leftover TEMP profile in use
  • CLAUDE_CONFIG_DIR redirected to a folder under AppData\Local

Everything else recovered. The Code tab did not.

Ruled out (with evidence)

  • MCP configuration at all scopes — removed

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗