CLI
Conventions
How koshi commands pick their target, what they print, and which output formats they support.
Every koshi subcommand works the same way from inside a session and from any other shell. What changes is how the target is chosen.
Choosing a target
- Inside koshi — an omitted target means the current session, tab, pane, or client.
- Outside koshi — give a target, unless exactly one session is running. Then koshi uses it.
Targets are passed as --session, --tab, --pane, and --client, and take
the ids that create and list commands print.
What create commands print
| Command | Prints |
|---|---|
koshi new-pane | one pane id |
koshi run | one pane id |
koshi new-tab | its tab id and root pane id |
Capture them and reuse them:
pane=$(koshi new-pane --direction right)
koshi input --pane "$pane" "cargo watch -x test"Output format
List and inspect commands accept --format:
koshi list-panes --format table # default, for reading
koshi list-panes --format json # for scriptsLaunching
| Command | Result |
|---|---|
koshi | Start one session with one tab and shell pane |
koshi --profile <NAME> | Start from profile/<NAME>.kdl |
The command map
Panes
new-pane, run, close-pane, resize-pane, focus-pane, input
Tabs
new-tab, close-tab, next, previous, focus, move
Discovery
list-sessions, list-tabs, list-panes, list-clients, inspect
Input lock
lock, unlock, toggle-lock
Keys and actions
keys list, describe, conflicts, validate; actions list, explain
Config
config path, explain, check, migrate
Update
koshi update