Skip to content

th claude tui: ratatui control dashboard (mode toggle + attach)#117

Merged
brentrager merged 1 commit into
mainfrom
th-75b557-claude-tui
Jun 29, 2026
Merged

th claude tui: ratatui control dashboard (mode toggle + attach)#117
brentrager merged 1 commit into
mainfrom
th-75b557-claude-tui

Conversation

@brentrager

Copy link
Copy Markdown
Contributor

What

Adds th claude tui — the control dashboard for supervised Claude Code sessions, completing the "switch between Big Smooth driving and the session itself" surface from the orchestration plan (builds on #116).

A live split view: left = list of supervised sessions with their mode; right = a snippet of the selected session's pane. Single-key control:

  • d / m / p — flip the session between driving / manual / paused
  • a / enterattach (suspends the TUI, hands the terminal to tmux attach, restores on return)
  • r — refresh · q / esc — quit · ↑↓/jk — navigate

Same control is scriptable via th claude mode <id> <mode> (shipped in #116).

Verification

  • 41 unit tests pass (7 new for the TUI: key bindings, nav wrapping, selection clamp, pane tailing). cargo clippy -- -D warnings clean; cargo fmt clean.
  • Decision logic (key_action, clamp_selected, tail_lines, App navigation) is pure + unit-tested; only the draw + event loop is the IO shell.
  • Doc updated (th claude mode + tui in Using-th-CLI.md).

Closes pearl th-75b557.

🤖 Generated with Claude Code

…ttach)

Adds `th claude tui`: a live dashboard of supervised Claude Code sessions with
each one's mode and a snippet of its pane, plus single-key control —
`d`/`m`/`p` flip driving/manual/paused, `a`/`enter` attach (suspends the TUI,
hands the terminal to `tmux attach`, restores on return), `r` refresh, `q` quit.

This is the "switch between Big Smooth driving and the session itself" surface
from the orchestration plan. Key bindings, selection clamping, pane tailing, and
list navigation are pure and unit-tested; the draw + event loop is the IO shell.
Doc updated with `th claude mode` + `tui` (41 tests pass; clippy -D warnings clean).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DXqPyj8SvxyUbfyRPvBA6P
@changeset-bot

changeset-bot Bot commented Jun 29, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: da63d59

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@smooai/smooth Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@brentrager brentrager enabled auto-merge (squash) June 29, 2026 23:47
@brentrager brentrager merged commit 5d6f9c5 into main Jun 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant