claude-code - 💡(How to fix) Fix [FEATURE] Surface ultraplan agent prompt/response stream in CLI TUI without requiring web access [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#45213Fetched 2026-04-09 08:10:38
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Participants
Timeline (top)
labeled ×4

Root Cause

The ultraplan feature is powerful precisely because it handles long, complex tasks autonomously. But "autonomous" should not mean "opaque." The current UX forces a binary choice:

  1. Trust blindly — wait 20+ minutes with zero visibility, then discover the agent went in the wrong direction
  2. Leave the terminal — open a browser to monitor, losing the CLI workflow

A middle ground — observe without interrupting — is standard in every orchestration tool (k8s, CI runners, Docker, tmux). Claude Code should offer the same for its own agent orchestration.

Code Example

◇ ultraplan · 17m 35s · running

1 agent working · 0 tool calls

https://claude.ai/code/session_018M8ZB4N2sRzAAQMm3eVSdj

  1. Open in Claude Code on the web
2. Stop ultraplan
  3. Back

---

◇ ultraplan · 17m 35s · running

1 agent working · 12 tool calls

  [14:32:01]Agent prompt: "Analyze the authentication module..."
  [14:32:08]Agent: "I'll start by reading the auth middleware..."
  [14:32:09] 🔧 Read /src/auth/middleware.ts (243 lines)
  [14:32:11]Agent: "The middleware uses JWT validation with..."
  [14:32:15] 🔧 Grep "validateToken" (3 matches)
  ...

1. View live log (streaming)
  2. Open in Claude Code on the web
  3. Stop ultraplan
  4. Back

---

claude ultraplan --tail <session-id>
# or
claude session tail <session-id>
RAW_BUFFERClick to expand / collapse

Problem

When an ultraplan is running, the CLI shows only a minimal status summary:

◇ ultraplan · 17m 35s · running

1 agent working · 0 tool calls

https://claude.ai/code/session_018M8ZB4N2sRzAAQMm3eVSdj

  1. Open in Claude Code on the web
❯ 2. Stop ultraplan
  3. Back

The only way to see what the agent is actually doing — the prompts being sent, the responses coming back, the reasoning being applied — is to open the web URL in a browser. This defeats the purpose of a CLI-first tool and creates friction in several real workflows:

  • SSH/remote sessions where opening a browser is not possible
  • Headless CI/CD or automation environments with no GUI
  • Developer flow — context-switching to a browser tab breaks focus; you already have the terminal open
  • Monitoring multiple ultralplans — tabbing between browser sessions is far less efficient than tailing multiple terminal panes

Proposed Solution

Add a live prompt/response stream view accessible directly in the CLI TUI when an ultraplan is running. Concretely:

Option A: Inline stream (minimal)

Add a 4th menu option or keybinding (e.g., v for view, or l for log) that expands the ultraplan status into a scrollable, real-time feed of:

  • Agent prompt messages (what the orchestrator is sending to the sub-agent)
  • Agent response chunks (streamed as they arrive)
  • Tool calls and their results (collapsed by default, expandable)
◇ ultraplan · 17m 35s · running

1 agent working · 12 tool calls

  [14:32:01] → Agent prompt: "Analyze the authentication module..."
  [14:32:08] ← Agent: "I'll start by reading the auth middleware..."
  [14:32:09] 🔧 Read /src/auth/middleware.ts (243 lines)
  [14:32:11] ← Agent: "The middleware uses JWT validation with..."
  [14:32:15] 🔧 Grep "validateToken" (3 matches)
  ...

❯ 1. View live log (streaming)
  2. Open in Claude Code on the web
  3. Stop ultraplan
  4. Back

Option B: Tail mode (power-user)

Support --tail or --follow flag for ultraplan sessions:

claude ultraplan --tail <session-id>
# or
claude session tail <session-id>

This streams the agent's prompt/response exchange to stdout in real-time, similar to kubectl logs -f or docker logs -f. Can be piped, grepped, or tailed in a split pane.

Option C: Both

Option A for interactive use, Option B for scriptable/automation use.

Why This Matters

The ultraplan feature is powerful precisely because it handles long, complex tasks autonomously. But "autonomous" should not mean "opaque." The current UX forces a binary choice:

  1. Trust blindly — wait 20+ minutes with zero visibility, then discover the agent went in the wrong direction
  2. Leave the terminal — open a browser to monitor, losing the CLI workflow

A middle ground — observe without interrupting — is standard in every orchestration tool (k8s, CI runners, Docker, tmux). Claude Code should offer the same for its own agent orchestration.

Related Issues

  • #27695 — /status command for multi-agent progress
  • #30438 — First-class plan system with PlanStatus tool
  • #24537 — Agent hierarchy dashboard (consolidates 20+ issues)
  • #39008 — Visual progress indicators for background subagents
  • #43584 — No observability between PreToolUse and PostToolUse
  • #30492 — Real-time steering mid-execution
  • #14859 — Agent hierarchy in hook events

Environment

  • Claude Code CLI (terminal / SSH / headless)
  • All platforms (macOS, Linux, Windows WSL)

extent analysis

TL;DR

Implement a live prompt/response stream view in the CLI to provide real-time visibility into ultraplan execution without requiring a browser.

Guidance

  • Consider adding a new menu option or keybinding to expand the ultraplan status into a scrollable, real-time feed of agent interactions.
  • Evaluate the feasibility of supporting a --tail or --follow flag for ultraplan sessions to stream the agent's prompt/response exchange to stdout.
  • Assess the benefits of implementing both inline stream and tail mode options to cater to different user workflows.
  • Review related issues (e.g., #27695, #30438) to ensure consistency and integration with existing features.

Example

claude ultraplan --tail <session-id>

This example illustrates how the --tail flag could be used to stream the agent's prompt/response exchange to stdout.

Notes

The proposed solution aims to address the lack of visibility into ultraplan execution, which is a critical aspect of the feature. However, the implementation details and technical requirements are not fully specified in the issue.

Recommendation

Apply workaround by implementing Option C: Both, which provides a flexible solution for interactive and scriptable use cases, allowing users to observe ultraplan execution without interrupting it.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [FEATURE] Surface ultraplan agent prompt/response stream in CLI TUI without requiring web access [1 participants]