`claude agents` bg-spare workers crash on init in 2.1.143 (regression from 2.1.142)
Summary
In claude 2.1.143 on macOS arm64, every worker spawned via the--bg-spare mode crashes during init within ~60–300 ms. This breaksclaude agents (the FleetView agents view), whose daemon keeps a pool
of prewarmed bg-spare workers ready and immediately marks each newly
spawned worker as (crashed). Downgrading to 2.1.142 resolves the
issue. Main entrypoints (claude --version, claude --help,
interactive claude sessions) work fine on 2.1.143 — only the--bg-spare code path is broken.
Environment
- claude version: 2.1.143 (Claude Code), Bun v1.3.14
- Platform: macOS 15 (Darwin 25.4.0), Apple Silicon (arm64)
- Binary:
~/.local/bin/claude→~/.local/share/claude/versions/2.1.143
Reproduction
- Have 2.1.143 installed.
- Run
claude agentsto start the agents view. - Tail
~/.claude/daemon.log.
You will see a tight loop of:
\\\\
[bg] bg spare spawned host pid=NNNNN
[bg] bg claimed-spare <id> (spare|fleet)
[bg] bg settled <id> (crashed)
\\
with each spare crashing 60–300 ms after spawn. The view itself never
gets a working worker.
When the spare process error surfaces, the stack trace is the minified
Bun-bundled form:
\\\\
exit 1 before init — ... at uSK (/\$bunfs/root/src/entrypoints/cli.js:9092:233)
at async SKO (/\$bunfs/root/src/entrypoints/cli.js:19558:68)
at async h4O (/\$bunfs/root/src/entrypoints/cli.js:19595:313)
Bun v1.3.14 (macOS arm64)
\\
Workaround
Point the launcher symlink at 2.1.142:
\\\bash\
ln -sfn ~/.local/share/claude/versions/2.1.142 ~/.local/bin/claude
\\
After killing the running \claude agents\ + \claude daemon run\ processes
and relaunching, the daemon settles cleanly with no crashed spares.
Impact
\claude agents\ is unusable on 2.1.143 — the view stays empty because
no spare ever survives long enough to take work. Other claude
invocations are unaffected, so this regression can slip past install-
time smoke tests.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗