Skip to content

Using the TUI

The TUI is how you interact with running pipelines. Launch it with no-mistakes or no-mistakes attach.

Think of it as the control surface for the gate. It is optimized for one job: show you where the run is, why it paused, what changed, and what your choices are without making you bounce between logs, diffs, and provider tabs.

Bare no-mistakes can also open the Setup Wizard first when there is no active run on the current branch and you need to create one.

What the TUI is for

flowchart LR
  running["Step running"] --> decision{"Needs human judgment?"}
  decision -- "no" --> next["Advance to next step"]
  decision -- "yes" --> pause["Pause in TUI"]
  pause --> approve["Approve"]
  pause --> fix["Fix selected findings"]
  pause --> skip["Skip"]
  pause --> abort["Abort"]

In practice, each part of the screen answers a different question:

  • Pipeline box - where am I in the run?
  • Findings panel - why did this pause?
  • Diff panel - what changed during the fix cycle?
  • Log tail - what is the step doing right now?

Layout

The layout adapts to terminal width:

  • Wide (100+ columns): pipeline box on the left, findings/log/diff panel on the right, side by side
  • Narrow (<100 columns): pipeline box stacked above the findings panel

Pipeline box

Shows the branch name and run status in the header, followed by each step:

feature/login-fix running
────────────────────────────
✓ Rebase 320ms
⏸ Review - awaiting approval
○ Test
○ Document
○ Lint
○ Push
○ PR
○ CI

Step status icons:

IconStatus
Pending
(spinner)Running / Fixing
Awaiting approval / Fix review
Completed
Skipped
Failed

Completed steps show their duration. Connectors () between steps are hidden when the terminal height is under 30 lines.

Findings panel

When a step pauses for approval, the findings panel shows structured results:

Risk: MEDIUM
Potential null pointer in error path
> [x] E src/handler.go:42
Missing nil check before dereferencing resp.Body
[x] W src/handler.go:78
Error string should not be capitalized
[ ] I src/handler.go:95
Consider extracting this into a helper function
  • Severity icons: E (error, red), W (warning, yellow), I (info, blue)
  • Checkboxes: [x] (selected, green), [ ] (deselected, dim)
  • Blue > marks the focused finding
  • Bottom hint shows ↑ N above / ↓ N more below (j/k) when scrolling, or (j/k) whenever there are multiple findings

Diff panel

After a fix cycle, press d to toggle the diff view:

  • Stats header showing files changed, additions, and deletions
  • Syntax-colored unified diff with line number gutter
  • Finding context line showing which finding you’re viewing
  • Scroll position in the box title: Diff (45/312)

Log tail

During running steps, shows streaming agent output. Lines starting with PASS are green, FAIL are red, everything else is dim.

On narrow terminals, the log panel expands to fill the remaining vertical space below the pipeline box instead of staying at the compact fixed height used in shorter layouts.

The footer shows detach/help actions and, when no-mistakes attach has a cached newer release available, a right-aligned <version> available indicator. That update indicator stays visible after reruns in the same TUI session.

Keybindings

KeyAction
j / kScroll down / up
g / GJump to start / end
Ctrl+d / Ctrl+uHalf-page down / up
n / pNext / previous finding

Actions (when a step is awaiting approval)

KeyAction
aApprove - continue to next step
fFix - send selected findings to agent for fixing
sSkip - skip this step and continue
xAbort - press twice to confirm (first press shows warning)
oOpen PR URL in browser (when available)

Selection

KeyAction
spaceToggle current finding
ASelect all findings
NDeselect all findings

View

KeyAction
dToggle diff view (after fix cycle)
escExit diff view back to findings
?Toggle help overlay
rStart a rerun after a failed or cancelled run
qDetach from TUI (or quit if run is done)

In diff view, n/p jumps the viewport to the file and line of the next/previous finding.

Action bar

The action bar appears below the pipeline box when a step is awaiting approval:

Review awaiting action:
a approve f fix (3/5) s skip x abort d diff
[space] toggle A all N none

The f fix (3/5) label shows how many findings are selected out of the total.

Outcome banner

When a run finishes, a one-line banner appears:

  • ✓ Pipeline passed 4.2s (green) - the run finished successfully, even if later steps were auto-skipped
  • ✗ Review failed 1.8s (red) - names the failing step
  • ✗ Pipeline cancelled (red) - user aborted

After a failed or cancelled run, press r to start a rerun. The TUI switches to the new run automatically.

Detaching

Press q to detach from the TUI. The pipeline continues running in the background. Run no-mistakes again to reattach to the active run on your current branch, or no-mistakes attach to reattach to the repo’s active run without branch scoping.

If the run is already finished, q exits the TUI.