UAT: TUI shell mode missing tab completion, shell history, and real-time output streaming for long-running commands #6461

Open
opened 2026-04-09 21:05:54 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Spec Reference

Specification lines 29491–29509 (Shell Mode), lines 29493–29494 (Shell mode features)

Expected Behavior (from spec)

From spec lines 29493–29494:

Typing ! as the first character changes the prompt symbol to $ and enables shell syntax highlighting, file/directory tab completion, and separate shell history.

From spec lines 29505–29509:

Shell results appear as ShellResult blocks in the conversation stream with a $primary left border and $foreground 4% background. Long-running commands stream output in real-time; ctrl+c sends SIGINT.

Actual Behavior (from code analysis)

src/cleveragents/tui/input/shell_exec.py run_shell_command() (lines 34–88):

proc = subprocess.run(
    command,
    shell=True,
    text=True,
    capture_output=True,  # ← Captures all output at once, no streaming
    timeout=timeout_seconds,
)

Missing features:

  1. No shell syntax highlightingPromptInput is a plain Input widget with no syntax highlighting
  2. No tab completion — no file/directory completion logic in PromptInput or InputModeRouter
  3. No separate shell history — no shell history tracking; the prompt has no history at all
  4. No real-time streamingsubprocess.run() with capture_output=True waits for command completion before showing output
  5. No ctrl+c SIGINT — no signal handling for running processes

Code Location

  • src/cleveragents/tui/input/shell_exec.pyrun_shell_command() lines 34–88
  • src/cleveragents/tui/widgets/prompt.pyPromptInput (no tab completion, no history)

Steps to Reproduce (Code Analysis)

  1. Read src/cleveragents/tui/input/shell_exec.py lines 69–76
  2. Observe: subprocess.run() with capture_output=True — no streaming
  3. Read src/cleveragents/tui/widgets/prompt.py
  4. Observe: no tab completion, no shell history
  5. Compare with spec lines 29493–29509

Severity

Medium — tab completion and shell history are important UX features for shell mode. Real-time streaming is important for long-running commands. Backlog items.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Bug Report ### Spec Reference Specification lines 29491–29509 (Shell Mode), lines 29493–29494 (Shell mode features) ### Expected Behavior (from spec) From spec lines 29493–29494: > Typing `!` as the first character changes the prompt symbol to `$` and enables **shell syntax highlighting**, **file/directory tab completion**, and **separate shell history**. From spec lines 29505–29509: > Shell results appear as `ShellResult` blocks in the conversation stream with a `$primary` left border and `$foreground 4%` background. **Long-running commands stream output in real-time**; `ctrl+c` sends SIGINT. ### Actual Behavior (from code analysis) `src/cleveragents/tui/input/shell_exec.py` `run_shell_command()` (lines 34–88): ```python proc = subprocess.run( command, shell=True, text=True, capture_output=True, # ← Captures all output at once, no streaming timeout=timeout_seconds, ) ``` Missing features: 1. **No shell syntax highlighting** — `PromptInput` is a plain `Input` widget with no syntax highlighting 2. **No tab completion** — no file/directory completion logic in `PromptInput` or `InputModeRouter` 3. **No separate shell history** — no shell history tracking; the prompt has no history at all 4. **No real-time streaming** — `subprocess.run()` with `capture_output=True` waits for command completion before showing output 5. **No `ctrl+c` SIGINT** — no signal handling for running processes ### Code Location - `src/cleveragents/tui/input/shell_exec.py` — `run_shell_command()` lines 34–88 - `src/cleveragents/tui/widgets/prompt.py` — `PromptInput` (no tab completion, no history) ### Steps to Reproduce (Code Analysis) 1. Read `src/cleveragents/tui/input/shell_exec.py` lines 69–76 2. Observe: `subprocess.run()` with `capture_output=True` — no streaming 3. Read `src/cleveragents/tui/widgets/prompt.py` 4. Observe: no tab completion, no shell history 5. Compare with spec lines 29493–29509 ### Severity Medium — tab completion and shell history are important UX features for shell mode. Real-time streaming is important for long-running commands. Backlog items. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.2.0 milestone 2026-04-09 22:32:27 +00:00
Author
Owner

Starting implementation on branch feat/issue-6461-tui-shell-mode-features. Difficulty assessment: medium complexity due to multiple interactive TUI behaviors → starting at codex tier.


Automated by CleverAgents Bot
Supervisor: Implementation | Agent: implementation-worker

Starting implementation on branch `feat/issue-6461-tui-shell-mode-features`. Difficulty assessment: medium complexity due to multiple interactive TUI behaviors → starting at codex tier. --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: implementation-worker
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#6461
No description provided.