Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI & Dashboard

Dashboard (TUI)

Running catenary in an interactive terminal launches the TUI dashboard. When stdin and stdout are pipes (launched by an MCP client), it serves MCP instead — no flags needed.

The dashboard is the primary way to observe Catenary. It shows all sessions (active and historical), their language servers, and a live stream of protocol messages (MCP, LSP, hooks). All messages are stored in a SQLite database, so historical sessions can be browsed after the fact.

catenary  # launch dashboard

Keybindings

Keybinding hints appear in each pane’s border.

Sessions pane:

KeyAction
j / DownNext session
k / UpPrevious session
SpaceToggle expand/collapse
h / lScroll horizontally (events)
rRefresh
xDelete session data (dead sessions only)
q / EscQuit

Events pane:

KeyAction
j / DownNext event
k / UpPrevious event
SpaceToggle expand/collapse
h / lScroll horizontally
Ctrl-uPage up
Ctrl-dPage down
GJump to latest
yYank selected event
fOpen filter input
FClear filter

Protocol Transparency

Catenary logs every protocol message — every MCP tool call, every LSP request and response, every hook invocation — to a local SQLite database. The TUI shows the full message flow in real time: what Catenary sends to your language servers, what they send back, and how long each exchange takes.

You can see exactly what Catenary does. Nothing is hidden.

CLI Commands

catenary list

List active and historical sessions.

catenary list

catenary monitor <id>

Stream events from a session to the terminal. Accepts a prefix of either the Catenary session ID or the host CLI session ID.

catenary monitor 029b
catenary monitor 029b --raw       # raw JSON output
catenary monitor 029b --filter hover

catenary query

Query events from the database. Useful for debugging and bug reports.

catenary query --session 029ba740 --since 1h
catenary query --kind diagnostics --since today
catenary query --search "hover" --format json
catenary query --sql "SELECT * FROM events WHERE payload LIKE '%timeout%'"

catenary gc

Garbage-collect old session data.

catenary gc --older-than 7d
catenary gc --dead
catenary gc --session 029ba740

catenary doctor

Verify language servers and hook installation. See Installation.