Bug Description
When Claude Code encounters a tool failure (e.g., unauthenticated gh api call, web search unavailable), the CC process halts instead of retrying or surfacing the error to the user for approval. The session dies silently on transient/external failures.
Impact
- P1 — Breaks iterative development loops. A 4h+ session can die on a single failed tool call with no recovery path.
- Affects any tool that may fail transiently (web search, GitHub API, file system edge cases).
Reproduction Steps
- Start a session via
ag run <prompt> that will trigger a tool call
- Arrange for the tool to fail (e.g., unauthenticated GH API, missing web search provider)
- Observe: CC stops after the tool failure
- No retry, no error surfaced to Telegram/dashboard for approval, no recovery prompt
Expected Behavior
- CC should surface tool failures to the approval layer (Telegram / dashboard)
- User can approve/reject retry or skip the failed tool call
- Session continues rather than halting
Root Cause (Hypothesis)
The ACP bridge or Aegis runner may not handle tool-error events from Claude Code. When CC reports a tool failure, the bridge either:
- Does not forward the error to the approval queue
- Does not propagate the error back to CC, causing CC to wait indefinitely
- Does not implement retry logic in the runner layer
Evidence
Found during endurance test #4683 (2026-06-13).
Acceptance Criteria
Related
Bug Description
When Claude Code encounters a tool failure (e.g., unauthenticated
gh apicall, web search unavailable), the CC process halts instead of retrying or surfacing the error to the user for approval. The session dies silently on transient/external failures.Impact
Reproduction Steps
ag run <prompt>that will trigger a tool callExpected Behavior
Root Cause (Hypothesis)
The ACP bridge or Aegis runner may not handle tool-error events from Claude Code. When CC reports a tool failure, the bridge either:
Evidence
Found during endurance test #4683 (2026-06-13).
Acceptance Criteria
Related