[BUG] Session crashes silently on ARM64 Windows due to EPERM symlink failure during subagent spawn

Resolved 💬 4 comments Opened Feb 10, 2026 by CaioRodolfo Closed Mar 11, 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 crash silently mid-conversation on ARM64 Windows, dropping back to the PowerShell prompt with no error message or warning. In a single 50-minute window, 10 sessions died — none survived long enough to complete work.

The primary crash trigger is an EPERM error when the application attempts to create symlinks for subagent processes (e.g., prompt_suggestion). Windows blocks unprivileged symlink creation by default, and the TUI does not handle this failure — the process simply terminates.
Two additional platform issues compound the instability:

sharp module fails entirely on ARM64 — image processing is broken, cascading into TypeErrors throughout the session. Since this is a WinGet binary install, the user has no way to install the WASM fallback.
Repeated streaming parse errors (15+ per session) force fallback to non-streaming mode, destabilizing the render loop.

The combination means sessions crash repeatedly with no user-facing explanation and no way to recover.

What Should Happen?

What Should Happen

Symlink failure should not crash the process. Claude Code should fall back to file copies or junctions when symlink creation fails with EPERM, or at minimum surface the error in the TUI and advise the user to enable Developer Mode.
ARM64 Windows should work out of the box. The sharp module should either bundle the WASM fallback (@img/sharp-wasm32) for ARM64 builds, or gracefully degrade when unavailable instead of throwing unhandled TypeErrors.
Crashes should be visible. If the session must terminate, show the user why — don't silently drop them to a shell prompt.
Windows install docs should note that Developer Mode is recommended/required for full functionality (symlink support).

Error Messages/Logs

Error Messages / Logs
EPERM symlink failure (primary crash)
[ERROR] Error: EPERM: operation not permitted, symlink
  'C:\Users\<user>\.claude\projects\C--Users-<user>\<session-id>\subagents\agent-a4fe430.jsonl'
  -> 'C:\Users\<user>\AppData\Local\Temp\claude\C--Users-<user>\tasks\a4fe430.output'
Sharp module failure on ARM64
Could not load the "sharp" module using the win32-arm64 runtime
Cascades into:
TypeError: w is not a function
TypeError: Y is not a function
Streaming parse errors (15+ occurrences per session)
Content block input is not a string
Session crash timeline from history.jsonl
TimeSessionWhat happened20:11c3a708edStarted work. Hit streaming stalls (36s, 89s gaps), AbortError, sharp failure. Session died.20:18fcb6a317New session. Toggled /fast, /extra-usage. Died quickly.20:220ec72434New session. Checked /fast, /mcp. Died quickly.20:31401611aaSent actual work prompt. Hit EPERM symlink error, then 529 overload + 15 streaming parse failures. Session died ~20:41.20:44–20:453 sessionsThree /resume attempts — each created a new session and immediately died.20:486f50cf4eGave up, tried to pull logs.20:56e1e49151Tried once more. Died again.

Steps to Reproduce

Steps to Reproduce

Install Claude Code via WinGet on ARM64 Windows without Developer Mode enabled
Start a session: claude
Send a prompt that triggers subagent spawning (e.g., working with skills, multi-step tasks, anything that causes Forked agent [prompt_suggestion])
Session terminates without warning, returning to PowerShell prompt
Attempting /resume in a new session also crashes immediately

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.36

Claude Code Version

2.1.38 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

_No response_

View original on GitHub ↗

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