KOSHI0.6.0
CLI
v0.6clifield manual

Discovery commands

List sessions, tabs, panes, and clients or inspect one complete record as a table or JSON.

Every list and inspect command accepts --format table or --format json. Table is the default.

List

koshi list-sessions
koshi list-sessions --remote work
koshi list-tabs --session <NAME_OR_ID>
koshi list-panes --session <NAME_OR_ID>
koshi list-clients --session <NAME_OR_ID>
CommandOutput
list-sessionsSession ids and names, the machine each runs on, and the owner of another user's session
list-tabsTab ids and names, and the id and name of the owning session
list-panesPane, tab, and session ids and names; tiled panes first, then floating panes
list-clientsClient ids and owning sessions

For scripts:

koshi list-panes --format json

A time prints as RFC 3339 UTC text, such as 2026-11-01T04:22:56Z, in both formats. In a table an absent value prints as - and a list of ids as its count; in JSON an absent value is null and a list of ids is the whole list.

A floating pane prints float in the tab column of list-panes and - in tab_name; --format json writes null for both.

Inspect

koshi inspect session <NAME_OR_ID>
koshi inspect tab <NAME_OR_ID>
koshi inspect pane <PANE_ID>
koshi inspect client <CLIENT_ID>

inspect prints one full record. Add --format json for machine-readable output. inspect pane shows a pane's command in full, arguments included.

The server column

list-sessions names each session's machine: local for a session on this machine, else the saved server it runs on. A bare koshi list-sessions sweeps every saved server and appends what answered. The sweep waits two seconds in total, not two seconds per server. A server whose connection failed, and a server that did not answer, are named on standard error and their sessions are left out. See Remote sessions.

The owner column names the user id of another user of this machine whose session you can reach, such as 1001, and - for every other session. --format json carries it as owner_user_id. Such a session can also be named as <user id>/<session id>, such as 1001/session-3f2a….

Names and ids

Session and tab arguments take either the generated name or the printed id. An id is never re-read as a name. A name that several targets share is refused, and the error lists every matching id. Pane and client arguments take ids only.

Ending a session

koshi kill-session lives on Session commands, beside attach and detach.

Reading running state

For the whole picture — every session's tabs, panes, and clients at once, or a tab's solved rectangles — use koshi debug.

On this page