UAT: TUI app.py missing required hotkey bindings — tab (persona cycle), shift+tab (sidebar), ctrl+s (sessions), ctrl+n (new session), ctrl+w (close session), ctrl+[ / ctrl+] (session tabs), F2/ctrl+, (settings) #4513

Closed
opened 2026-04-08 14:12:55 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: TUI Architecture — Hotkey Bindings (Global)

Severity: Medium


What Was Tested

Code-level analysis of src/cleveragents/tui/app.py BINDINGS list against the specification's global hotkey reference.

Expected Behavior (from spec)

Per docs/specification.md §30382 (Global Hotkeys) and §30397 (MainScreen — Prompt Focused), the following hotkeys must be bound in the TUI app:

Key Action
ctrl+q Quit TUI immediately
ctrl+c Interrupt actor / double-tap to quit
F1 Toggle help panel
F2 / ctrl+, Open settings
ctrl+s Open Sessions screen
ctrl+n Create new session tab
ctrl+w Close current session tab
ctrl+[ / ctrl+] Switch to previous / next session tab
shift+tab Cycle sidebar: hidden → visible → fullscreen
tab Cycle to next persona
ctrl+tab Cycle to next argument preset

Actual Behavior

The BINDINGS in src/cleveragents/tui/app.py (lines 92-96) only defines 3 bindings:

BINDINGS: ClassVar[list[tuple[str, str, str]]] = [
    ("ctrl+q", "quit", "Quit"),
    ("f1", "help", "Help"),
    ("ctrl+t", "cycle_preset", "Cycle Preset"),  # wrong key (should be ctrl+tab)
]

Missing bindings (8 out of 11 required global hotkeys are absent):

  • tab → cycle persona
  • shift+tab → cycle sidebar state
  • ctrl+s → open sessions screen
  • ctrl+n → new session tab
  • ctrl+w → close session tab
  • ctrl+[ → previous session tab
  • ctrl+] → next session tab
  • F2 / ctrl+, → open settings

Additionally, the ctrl+c double-tap quit behavior (§30326) is not implemented — there is no ctrl+c handler with the 5-second window logic.

Code Location

src/cleveragents/tui/app.py, lines 92-96

Spec References

  • docs/specification.md §30382 (Global Hotkeys table)
  • docs/specification.md §30397 (MainScreen — Prompt Focused hotkeys)
  • docs/specification.md §30326 (Safety Behaviors — Double-Tap Quit)

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

## Bug Report **Feature Area:** TUI Architecture — Hotkey Bindings (Global) **Severity:** Medium --- ## What Was Tested Code-level analysis of `src/cleveragents/tui/app.py` BINDINGS list against the specification's global hotkey reference. ## Expected Behavior (from spec) Per `docs/specification.md` §30382 (Global Hotkeys) and §30397 (MainScreen — Prompt Focused), the following hotkeys must be bound in the TUI app: | Key | Action | |-----|--------| | `ctrl+q` | Quit TUI immediately | | `ctrl+c` | Interrupt actor / double-tap to quit | | `F1` | Toggle help panel | | `F2` / `ctrl+,` | Open settings | | `ctrl+s` | Open Sessions screen | | `ctrl+n` | Create new session tab | | `ctrl+w` | Close current session tab | | `ctrl+[` / `ctrl+]` | Switch to previous / next session tab | | `shift+tab` | Cycle sidebar: hidden → visible → fullscreen | | `tab` | Cycle to next persona | | `ctrl+tab` | Cycle to next argument preset | ## Actual Behavior The `BINDINGS` in `src/cleveragents/tui/app.py` (lines 92-96) only defines **3 bindings**: ```python BINDINGS: ClassVar[list[tuple[str, str, str]]] = [ ("ctrl+q", "quit", "Quit"), ("f1", "help", "Help"), ("ctrl+t", "cycle_preset", "Cycle Preset"), # wrong key (should be ctrl+tab) ] ``` **Missing bindings** (8 out of 11 required global hotkeys are absent): - `tab` → cycle persona - `shift+tab` → cycle sidebar state - `ctrl+s` → open sessions screen - `ctrl+n` → new session tab - `ctrl+w` → close session tab - `ctrl+[` → previous session tab - `ctrl+]` → next session tab - `F2` / `ctrl+,` → open settings Additionally, the `ctrl+c` double-tap quit behavior (§30326) is not implemented — there is no `ctrl+c` handler with the 5-second window logic. ## Code Location `src/cleveragents/tui/app.py`, lines 92-96 ## Spec References - `docs/specification.md` §30382 (Global Hotkeys table) - `docs/specification.md` §30397 (MainScreen — Prompt Focused hotkeys) - `docs/specification.md` §30326 (Safety Behaviors — Double-Tap Quit) --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
Author
Owner

Closing as duplicate of #4398. Both issues describe the same bug: TUI app.py is missing required hotkey bindings including tab (persona cycle) and shift+tab (sidebar). Issue #4398 is older and covers the same root cause.


Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: backlog-groomer

Closing as duplicate of #4398. Both issues describe the same bug: TUI app.py is missing required hotkey bindings including tab (persona cycle) and shift+tab (sidebar). Issue #4398 is older and covers the same root cause. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
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.

Dependencies

No dependencies set.

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