Feature: Add /plan slash command to view current todo list
Problem
The status bar shows π plan 5 task(s) 0.0s when the agent calls the todo tool, but this is a transient display β it flashes by during tool execution and there's no way to inspect the current task list after the fact.
This creates a friction point:
- Users can't check what tasks are pending/completed without asking the agent to list them
- During long-running tasks, the status bar line disappears before users can read it
- The agent might be busy processing and won't respond to "show me the plan" immediately
Proposed Solution
Add a /plan slash command that displays the current session's todo list directly in the TUI, similar to how /status shows session info.
Behavior
/plan β Show full todo list (pending, in_progress, completed, cancelled)
/plan pending β Show only pending + in_progress items
/plan clear β Clear all tasks (with confirmation)
Output format (in-session, no agent round-trip):
π Current Plan
ββββββββββββββββββββββββββββββββββββββ
β 1. Set up project structure
β 2. Implement auth module
β 3. Write integration tests (in_progress)
β 4. Deploy to staging
β 5. Update documentation
ββββββββββββββββββββββββββββββββββββββ
Progress: 2/5 completed
Implementation Notes
- The todo list is already stored in
run_agent.py as part of the agent state (self.todos or similar). The command just needs to read and format it.
- Register in
hermes_cli/commands.py as a new CommandDef("plan", ...).
- Handler in
cli.py reads the current todo state and renders it β no LLM call needed.
- Optionally: add a keybinding (e.g., Ctrl+P) as a shortcut for
/plan.
Alternatives Considered
- Expandable status bar: Making the
π plan line clickable/expandable in the TUI. Rejected β requires significant prompt_toolkit layout changes.
- Relying on the agent: Asking the agent "show me the plan". Rejected β agent may be busy processing and can't respond immediately.
Additional Context
This was discussed in the context of users wanting to check task progress during long agent runs, especially when context compaction is happening (β³ compacting contextβ¦). Having a non-blocking way to inspect the plan without interrupting the agent would improve the user experience.
Feature: Add
/planslash command to view current todo listProblem
The status bar shows
π plan 5 task(s) 0.0swhen the agent calls thetodotool, but this is a transient display β it flashes by during tool execution and there's no way to inspect the current task list after the fact.This creates a friction point:
Proposed Solution
Add a
/planslash command that displays the current session's todo list directly in the TUI, similar to how/statusshows session info.Behavior
Output format (in-session, no agent round-trip):
Implementation Notes
run_agent.pyas part of the agent state (self.todosor similar). The command just needs to read and format it.hermes_cli/commands.pyas a newCommandDef("plan", ...).cli.pyreads the current todo state and renders it β no LLM call needed./plan.Alternatives Considered
π planline clickable/expandable in the TUI. Rejected β requires significant prompt_toolkit layout changes.Additional Context
This was discussed in the context of users wanting to check task progress during long agent runs, especially when context compaction is happening (
β³ compacting contextβ¦). Having a non-blocking way to inspect the plan without interrupting the agent would improve the user experience.