Skip to content
Roy Padina edited this page Jun 9, 2026 · 2 revisions

The Mac GUI

A native SwiftUI menu-bar agent (look for in the menu bar). It's a thin view over the same agent-cli-menu back-end — it never parses your config or reads ~/.claude/ itself, so the GUI and terminal always agree.

Opening it

  • Left-click ✦ → popover.
  • Right-click ✦ → Open / Open in window / Quit.
  • Global hotkey (if set) → opens the resizable window from anywhere.
  • The window is resizable and remembers its size/position.
  • Clicking outside the window, or pressing esc, dismisses it — a menu-bar-panel feel. (Sheets and alerts keep the app active, so they don't trip this.)

New / Resume

A segmented control switches tabs; does the same from the keyboard. The search field keeps focus the whole time — type to filter, / to select, to launch/resume, esc to clear or close. Selection is a full-row highlight and auto-scrolls into view.

  • New — project dirs grouped by section (colored headers), frecency-sorted, with the git branch per row. + New dir creates a directory under any group. The tool to launch is picked bottom-right.
  • Resume — sessions with a status dot (busy / idle / inactive), name, path, and branch. A marks an uncertain working directory (you'll be asked to confirm before resuming).

Details + recap

Highlighting a session (without opening it) shows a details pane on the right: full metadata — id, status, branch, started, last used, and working directory — plus a Generate recap button. Recap is a short AI summary of the session (what it was working on, decisions, current state, follow-ups) via claude -p on the haiku model, cached so it loads instantly next time. See Commands → recap for the env knobs.

Transcript preview

In Resume, read a session's recent transcript on the right before resuming — fetched lazily (debounced) and cached per session. Drag the divider between the list and the preview/details pane to resize the split.

Settings

The gear opens a full editor that writes the same config as the terminal:

  • Open sessions in — the terminal to launch into: system default, Terminal, iTerm, Ghostty, Warp, kitty, WezTerm, cmux, or a custom command.
  • Groups — name, folder (with a picker), and a color (native ColorPicker + hex field).
  • Tools — name + runs command; pick the default.
  • IDEsctrl-key → label → command.

Launch shortcut

Click the recorder field and press the combo (e.g. ⌘⇧M). It only accepts shortcuts it can actually register, and esc clears it. Stored as [gui].hotkey in the config.

First launch

The app is ad-hoc signed (not notarized) — see Installation → Gatekeeper. If a launch/resume fails (e.g. agent-cli-menu isn't on PATH), the GUI shows an alert rather than failing silently.

Clone this wiki locally