feat: Stream subagent/dynamic_task output to CLI terminal
Please explain the motivation behind the feature request.
When using dynamic_task__create_task or sub_recipes to spawn subagents, their execution is opaque. The CLI only shows:
─── execute_task | subagent ──────────────────────────
task_ids: 20251218_46
The subagent runs successfully (verified in sessions.db), but users cannot see what it is doing. This makes multi-agent workflows difficult to monitor and debug.
Describe the solution you'd like
Add a stream_output parameter to dynamic_task__create_task:
{
"task_parameters": [{
"title": "BUILD Phase",
"instructions": "...",
"stream_output": true,
"return_last_only": true
}]
}
When stream_output: true, subagent tool calls and responses stream to the parent terminal in real-time. This is independent of return_last_only, which controls what returns to the orchestrator context.
Describe alternatives you've considered
- Global CLI flag (
--verbose-subagents) - Environment variable (
GOOSE_STREAM_SUBAGENTS=true) - Query
sessions.dbafter execution - Handoff files for inter-agent communication
Additional context
-
Documentation mentions "Real-Time Progress Monitoring" for parallel subrecipes, but this does not apply to sequential tasks
-
Related: #6052 (general observability)
-
[x] I have verified this does not duplicate an existing feature request