[Bug] Auto-mode yields to user after Agent tool returns instead of continuing pipeline

Resolved 💬 5 comments Opened Apr 30, 2026 by connor-tyndall Closed Jun 15, 2026

Bug Description
Bug: Auto-mode + subagent (Agent tool) chains yield to user instead of continuing pipeline.

Repro: Multi-agent orchestration with auto mode active (permission-mode: auto). Skill defines a deterministic N-step pipeline (planner → builder → tester → review → judge → shipper). Each step dispatches via the Agent tool. After the Agent tool returns with an explicit JSON success signal, the orchestrator yields to user instead of dispatching the next step.

Quantitative evidence (single session, Opus 4.7 [1M], xhigh):

  • 8 manual user nudges ("status?") to advance the pipeline
  • 7/8 nudges came directly after Agent tool returns
  • 15 total Agent dispatches; ~47% required user nudge to continue
  • 3 auto-mode system-reminders ("Execute autonomously, minimize interruptions") fired mid-session and did NOT change behavior
  • 3 task-tool reminders also fired; orchestrator never used TaskCreate/TaskUpdate
  • 29% of yielded turns ended with permission-seeking prose ("Want me to...?")

Hypothesis: model treats long-running tool result (Agent dispatches commonly run 100-280s) as a strong "natural turn end" signal that overrides auto-mode and explicit pipeline-state context in the skill body. The system-reminder mechanism for auto mode is too soft to override the trained "tool result = end turn" instinct.

Impact: defeats the value of multi-agent orchestration skills. User has to be the human pacemaker for an autonomous workflow they explicitly opted into.

Severity: medium. Not a hang — pipeline progresses correctly when nudged. But it makes long agentic flows (the actual selling point) feel half-broken.

Suggested fixes:

  • Treat Agent tool returns as a strong "continue work" signal under auto mode
  • Make auto-mode reminders harder to ignore (system-prompt-level, not just system-reminder injection)
  • Detect deterministic-pipeline patterns in the active skill body and bias toward continuation when next step is enumerated

Session JSONL bundle available on request — ~3.9MB main + 17 subagent transcripts. Has reproducible nudge pattern with timestamps.

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.123
  • Feedback ID: bde81f82-045b-488a-b287-842f3f200210

Errors
``json
[
{
"error": "Error: Request was aborted.\n at makeRequest (/$bunfs/root/src/entrypoints/cli.js:50:3448)\n at processTicksAndRejections (native:7:39)",
"timestamp": "2026-04-30T02:03:47.764Z"
},
{
"error": "MaxFileReadTokenExceededError: File content (27532 tokens) exceeds maximum allowed tokens (25000). Use offset and limit parameters to read specific portions of the
file, or search for specific content instead of reading the whole file.\n at Km7 (/$bunfs/root/src/entrypoints/cli.js:4852:12789)\n at processTicksAndRejections
(native:7:39)",
"timestamp": "2026-04-30T02:50:21.614Z"
},
{
"error": "Error: EISDIR: illegal operation on a directory, read '~/repos/<repo>/<module-dir>/test/<fixture-a>'\n at GAH (/$bunfs/root/src/entrypoints/cli.js:1708:144)\n
at processTicksAndRejections (native:7:39)",
"timestamp": "2026-04-30T02:50:44.245Z"
},
{
"error": "Error: EISDIR: illegal operation on a directory, read '~/repos/<repo>/<module-dir>/test/<fixture-b>'\n at GAH (/$bunfs/root/src/entrypoints/cli.js:1708:144)\n
at processTicksAndRejections (native:7:39)",
"timestamp": "2026-04-30T02:50:44.432Z"
}
]
``

View original on GitHub ↗

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