[BUG] React reconciler crash: No matching component was found for
Bug Description
Claude Code crashes mid-session with a React component reconciliation error. The terminal session is killed with no recovery option - all in-flight work (tool calls, agent context) is lost.
Error Output
+(c.join(" > ")+`
No matching component was found for:
- O7 (/$bunfs/root/claude:668:20555)
- RX (/$bunfs/root/claude:668:28704)
- rO (/$bunfs/root/claude:668:28858)
- M7 (/$bunfs/root/claude:668:25070)
- <anonymous> (/$bunfs/root/claude:471:8027)
- ER (/$bunfs/root/claude:3559:4179)
- W_0 (/$bunfs/root/claude:6327:12557)
- Z$T (/$bunfs/root/claude:6340:10357)
- v1 (/$bunfs/root/claude:668:20765)
- U6 (/$bunfs/root/claude:668:39157)
Context / Reproduction
- Session type: Heavy MCP-driven session with multiple tool calls, background agents, and hooks (startup hooks, beads workflow, private-journal, agent-mail)
- What was happening: Mid-conversation with active MCP tool calls (kite-paper-engine FastMCP server) and multiple startup hooks resolving
- MCP servers active: kite-paper-engine (FastMCP), context7, zen, XcodeBuildMCP, agent-mail, private-journal, plus others
- Hooks active: Startup hooks (episodic-memory, beads priming), pre-tool-use hooks
The crash appears to be a React fiber tree corruption during component reconciliation - the bundled React renderer can't find a component that should exist in its tree. This is consistent with state corruption from concurrent updates (multiple tool results arriving simultaneously, hook outputs, MCP responses).
Possibly Related Issues
- #20685 - React hook dependency array undefined (similar React reconciler crash)
- #22632 - Bun segfault after extended sessions
- #10021 - General Bun crashes
Environment
- Claude Code version: 2.1.33
- OS: macOS 26.1 (Sequoia, arm64, Apple M4 Pro)
- Kernel: Darwin 25.1.0
- Terminal: Standard macOS Terminal
Impact
- Session state completely lost (no graceful degradation)
- No crash report generated or option to resume
- Particularly disruptive for long sessions with accumulated context
Expected Behavior
Either:
- The React reconciler should handle missing components gracefully (skip render, retry)
- Or the session should save state before crashing so
/resumecan recover
Suggested Investigation
The /$bunfs/root/claude:668 references suggest the crash is in the Bun-bundled React renderer. The minified function names (O7, RX, rO, M7) make it hard to pinpoint, but c.join(" > ") looks like breadcrumb/component path logging before the crash — possibly in a findComponentByFiber or similar reconciler function.
Could be triggered by:
- Race condition: multiple async tool results updating React state concurrently
- Memory pressure from large context + many MCP connections
- Hook output interleaving with tool result rendering
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗