Background worker crash-loop on session start: "worker crashed (exit 1 — exit_with_message) — respawning…"

Open 💬 4 comments Opened Jul 4, 2026 by fhm-ct

Environment:

  • Claude Code version: 2.1.201
  • OS: Ubuntu 26.04 LTS, Linux 7.0.0-27-generic x86_64
  • Install path: ~/.local/bin/claude / ~/.local/share/claude/versions/

Description:
Every new Claude Code session prints a daemon supervisor message to the terminal:

worker crashed (exit 1 — exit_with_message) — respawning…

This appears alongside garbled/mid-render background-agent status text (e.g. a background session ID banner printing with stray escape sequences and line breaks mid-word).

What I checked:

  • ~/.claude/daemon.log shows only one daemon instance running at a time (no duplicate/stale daemon contention at the time of report) and no exit_with_message or "worker crashed" string anywhere in that log — the crash detail is not persisted to disk.
  • The log does show frequent background "spare" worker churn (bg spare spawned, claimed-spare, settled) — 72 such lines in one day — and one recent binary auto-upgrade (2.1.200 → 2.1.201) that triggered a supervisor self-restart.
  • No custom hooks or settings.json entries correlate with the crash (checked ~/.claude/settings.json, ~/.claude/settings.local.json).

Impact: Message appears on every new session start; sessions still seem to function (daemon respawns the worker automatically), but the crash-loop text and garbled banner are alarming/noisy and there's no way to see the actual underlying error since it isn't logged.

Ask: Please log the actual crash payload/stack for exit_with_message failures (currently silent), and fix the truncated/garbled background-agent status banner rendering.

View original on GitHub ↗

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