lazyagent --gui
The GUI process detaches from your terminal — the shell returns immediately and the app lives in your menu bar. There’s no Dock icon (it’s registered as a macOS accessory app). Click the tray icon to toggle the panel.

The detachable panel
The panel defaults to an attached popover below the menu bar icon. Press d (or click the detach button in the header) to pop it out into a standalone resizable window. Once detached you can:
- Move it anywhere on your screen.
- Resize it to whatever dimensions you want.
- Pin it always-on-top so it stays visible while you work.
Press d again or close the window to snap it back to the menu bar.
Keybindings
| Key | Action |
|---|---|
| ↑ / k | Move up |
| ↓ / j | Move down |
| + / - | Adjust time window |
| f | Cycle activity filter |
| / | Search sessions |
| r | Rename session (empty resets) |
| d | Detach / reattach panel |
| esc | Close detail / dismiss search |
Right-click menu
Right-click the tray icon for a compact menu:
- Show Panel — open the session panel (same as left-click)
- Refresh Now — force reload all sessions
- Quit — exit the app
Visuals
The GUI uses Catppuccin Mocha as its theme and renders sparklines as real SVG area charts (unlike the TUI’s Unicode braille). Activity badges use the same color taxonomy across all interfaces.
Combining with other interfaces
lazyagent --gui --api # menu bar + HTTP API
lazyagent --tui --gui --api # everything
The GUI always runs in its own OS process (Cocoa requires ownership of the main thread), so combined launches fork it transparently. Quitting via the tray menu kills the tray process only — any TUI or API in the same parent invocation keeps running.