[Bug] Advisor narrates but then fails to make tool calls

Resolved 💬 4 comments Opened May 30, 2026 by aiob3 Closed Jul 5, 2026

Bug Description
Report commitado 7a979b6 · tree limpo. - Report durável: .planning/reports/BUG-REPORT-advisor-narrate-then-no-toolcall-2026-05-30.md (commit 7a979b6) â^@^T sintoma, root-cause, contexto correlato, repro, expected/actual.

Environment Info

  • Platform: linux
  • Terminal: xterm-256color
  • Version: 2.1.158
  • Feedback ID: db7a1fdc-c4a6-4bd3-bb31-d5b2eeb63260

Errors

# BUG REPORT (to Anthropic) â^@^T agent narrated tool intent then ended turn with NO tool call

**Date:** 2026-05-30 · **Session:** CEO Zoom-Out v9 background job (tripartite)
**Model:** claude-opus-4-8[1m] · Claude Code CLI · caveman mode active · output style learning+explanatory
**Severity:** Medium (workflow stall · user-visible "freeze" · requires operator re-prompt to recover)

## Symptom (operator-facing)

Operator asked the agent to "consulte o advisor". The agent emitted an assistant message that
*described* calling advisor ("Consulto advisor primeiro â^@¦ depois grill-me estruturado.") and then
**terminated the turn producing ZERO tool_use blocks.** No `advisor()` invocation was made. The
session appeared "frozen" / hung from the operator's side. This is the second occurrence the
operator flagged in this session ("travou denovo ao pedir a revisao do advisor").

## Root cause (agent self-diagnosis)

Narrate-then-stop: the model committed to a next action in prose, then ended the turn on
text-only output instead of emitting the corresponding `tool_use` block. The advisor tool itself
did not hang â^@^T it was never called. The failure is the model terminating a turn after declaring an
imminent tool call but before emitting it.

## Contributing context (possibly correlated â^@^T for triage, not confirmed cause)

1. **Batched tool-result rendering anomaly throughout the session:** many `Bash` calls returned
   `(Bash completed with no output)` and results arrived in delayed batches, forcing the agent to
   issue no-op `true` "flush" calls to drain pending results. This suggests a tool-result delivery /
   turn-boundary timing irregularity in this background-job harness that may interact badly with
   turn termination.
2. **`advisor` tool is parameterless** (auto-forwards transcript). A turn whose only intended action
   is a zero-arg tool call may be more prone to the narrate-then-skip failure.
3. Environment: background job, caveman SessionStart hook active, learning+explanatory output style,
   1M-context Opus, long transcript (~6 prior tool-heavy turns).

## Reproduction (best-effort)

1. Long background-job session with batched/delayed Bash tool-result delivery.
2. Operator requests a parameterless tool call (`advisor`).
3. Agent writes a message announcing the call â^F^R turn ends with no tool_use block. ~2/2 attempts this session.

## Expected vs actual

- **Expected:** message announcing `advisor()` is followed in the same turn by the `advisor` tool_use block.
- **Actual:** turn ends on text; no tool call; session stalls until operator re-prompts.

## Submission channel

This file is the durable artifact. To submit to Anthropic, run **`/bug`** in the Claude Code CLI
(sends feedback + recent transcript to Anthropic), referencing this file path. The agent cannot
self-submit to the vendor from the sandbox.

View original on GitHub ↗

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