Skip to content
Download

isc commands ​

PANE is a pane's number: 3 or pane:3. TAB is a tab's number: 7 or tab:7. A project is its name or its number: 4 or project:4. Where [PANE] is optional, the command acts on the pane you run it in. Outside any pane, it acts on the pane that has the keyboard. Every command accepts --socket PATH.

CommandWhat it does
isc ls [--json]Lists projects, tabs and panes, with each pane's placement and state. --json prints everything the daemon knows. isc list does the same.
isc run [--cwd DIR] [--keep] [WHERE] [-- COMMAND…]Runs a command in a new pane, or the shell if you give none, and prints the pane as pane:N. --cwd sets the working directory; the default is the one you run isc in. With --keep, the pane stays when the command ends. Press Enter in it, or use isc close, to close it.
WHERE for isc runNothing: a new tab in the current project. --project NAME: a new tab in that project. --new-project [--name NAME]: a new project for the working directory. --split right|down [--beside PANE]: beside a pane, sharing its space. --float [--rect X,Y,W,H]: floating above the current tab.
isc split right|down [PANE] [-- COMMAND…]The same, beside a pane, in that pane's directory
isc focus PANE, isc focus left|right|up|downGives a pane the keyboard: by number, or the focused pane's neighbour on that side
isc float [PANE] [--rect X,Y,W,H]Lifts a pane out of the layout, or moves one that's already floating. The rectangle is in fractions of the tab. Without it, the rectangle is 0.2,0.15,0.6,0.7.
isc tile [PANE]Puts a floating pane back into the layout
isc pin [PANE] [--off]Keeps a floating pane above the others. --off stops that.
isc follow [PANE] [--off]Shows a floating pane over every tab of its project. --off shows it over its own tab only.
isc hide [PANE], isc show PANEHides a floating pane while its program keeps running, and brings it back to the front
isc scratch [--project NAME]Brings the project's scratch pane to the front. If it's already there with the keyboard, puts it away. Starts it the first time. --project names a project other than the one in front.
isc floats show|hideShows or hides the current tab's floating panes
isc minimize [PANE], isc restore PANEPuts a pane away while its program keeps running and keeps its size, and brings it back where it was
isc zoom [PANE] [--off]Gives a pane the keyboard and lets it fill its tab. --off stops that.
isc swap A BSwaps the places of two panes
isc resize left|right|up|down [PANE] [--by PERCENT]Moves the divider a pane shares with its neighbours in that direction, by 5% of the divided space unless you set --by. It fails when the pane has no divider on that axis.
isc rename PANE NAMEGives a pane a name, shown instead of its directory and title. An empty name, "", removes it.
isc close [PANE]Closes a pane and ends its program
isc tab newOpens a tab with a shell in the current project
isc tab next, isc tab prevGoes to the next or previous tab of the current project, wrapping round at the ends
isc tab select TABGoes to a tab
isc tab close [TAB]Closes every pane in a tab, or in the current tab if you name none
isc tab move TAB INDEXMoves a tab to a position among its project's tabs, counted from 0
isc tab rename TAB NAMENames a tab. An empty name removes it.
isc project new [DIR] [--name NAME]Opens a project for a directory, or for the current one if you give none. It's named after the directory unless you set --name. Prints its first pane.
isc project select NAMEGoes to a project
isc project rename NAME NEWRenames a project
isc project close NAMECloses a project and everything running in it
isc send PANE TEXTTypes text into a pane, as if at its keyboard
isc key PANE KEY…Presses keys by name, in order: ctrl-c, enter, escape, shift-tab, a
isc attach [PANE]Shows a pane in this terminal and lets you type into it. Ctrl+] leaves.
isc capture PANE [--vt]Prints a pane's screen and scrollback. With --vt, it also prints colours and styles, as escape sequences.
isc status STATE [-m MESSAGE] [--resume COMMAND] [-p PANE]Reports what a pane is doing: idle, running, waiting, done or failed. -m, or --message, says what the state is about. --resume is a command that picks the work up again, offered at the pane's prompt after the daemon has stopped. -p, or --pane, is required outside a pane.
isc status explain [-p PANE]Explains why a pane is in its current state
isc notify TITLE [BODY] [-p PANE]Asks for your attention on a pane's behalf
isc mute [PANE] [--off]Stops a pane from sending notifications. --off lets it send them again. Its state still shows.
isc integrate [claude|codex|gemini|opencode|pi] [--remove] [--yes]Adds an agent's hooks, after showing you the change and asking. With no agent named, it offers each agent found on this system. --remove takes the hooks out. --yes skips the question.
isc integrate [AGENT] --statusChanges nothing. Prints, as JSON, for each agent: whether it's found, whether it already reports, the file its hooks go in, and what's left for you to do afterwards.
isc wait PANE [--until STATE]… [--timeout SECONDS]Blocks until the pane reaches a state: idle, running, waiting, done, failed or closed. Without --until, the states are done, failed, waiting or closed. Prints the state reached. The exit status is 124 when the time runs out.
isc eventsPrints what happens, one JSON object per line, until interrupted
isc configPrints a settings file with every setting at its default and every key of both keymaps
isc completions bash|zsh|fish|elvish|powershellPrints what that shell needs to complete isc commands, including the panes, tabs and projects that exist
isc shell-integration bash|zsh|fishPrints what that shell needs to tell its pane where each command starts and ends, and its exit status. fish 4 and later doesn't need it.
isc daemonRuns the daemon in the foreground
isc kill-serverStops the daemon and every program it runs, and returns once the daemon is gone. The layout comes back the next time it starts. It also works on a daemon of another version.
isc restart-server [--yes]Moves the running daemon to this version while the programs in its panes keep running. It asks first; --yes skips the question.
isc versionPrints this version and the running daemon's, with the protocol and terminal engine of each, the daemon's process number, and whether they can talk to each other