summonr

Commands and keys

Every slash command, key, and pane in the terminal.

Commands

/help lists these by job. Old names such as /rollback, /tree, and /net still work for one release and print the new name once.

CommandJob
/resume [ID|NAME]open another session; the list includes the current one, marked (current)
/newstart another session beside this one
/name [TEXT]name this session
/clearstart a fresh context; files stay
/compactsummarize earlier turns
/retrycontinue a failed or cancelled turn (F5)
/undo [files [N]]undo the last turn; files N restores files
/fork [TEXT]fork this session; TEXT picks a turn
/export [PATH]write this session as markdown
/copy [all]copy the last reply; all copies everything
/search TEXTfind text in this conversation
/history [TEXT]reuse an earlier prompt
/statussession id, log path, and model
/mcpMCP servers: state, tools, schema size, last error
/usage [session]token spend; session profiles this session
/agentslist agent sessions on this machine
/memoryshow the memory files and their size
/skillslist skills from their current files; installed skills also appear in slash completion
/exitquit summonr
/model [NAME] [LEVEL]choose the model; LEVEL sets the effort. A provider that does not answer is left out of the list until F5 reaches it
/effort [LEVEL]set the reasoning effort; no LEVEL opens a slider
/workflow [NAME]choose models for scout, work, and review
/login [NAME]sign in to a provider or store its key. Rows sit under ready, needs attention, and not set up; at 96 columns or more a detail pane shows the row's key, sign-in, models, and actions
/autoreturn to auto mode
/goal TEXTwork toward an objective across turns
/steps PLAN.md|clearrun a plan's ## Steps one at a time
/diff [PATH]changes against the base, or one PATH
/view PATHread a file in a pane
/pane [NAME]files, ledger, diff, worktrees, jobs, peers, or a layout
/settingstheme, tool output, reasoning, modules, incoming mail, NAME tools per MCP server, keys
/permissions [write]extra write paths for --strict
/helplist commands and keys

Typing / opens the command list above the composer. Each row shows the command and its argument; in the window, a built-in command also shows one line of help. After /model , or /login , the list shows the values that command takes: the current endpoint's cached models or the endpoint names. ↑ and ↓ move, tab completes, enter runs the selected row (prompt rows too), and esc hides the list. An unknown command says so and names the closest command; it never runs another command. One esc closes /login and /model. With no usable endpoint, the composer header reads no provider · /login. The ctx meter hides when the model's context window is unknown.

A draft that starts with ! runs as a shell command before any model round: !cmd shows the output as a tool card and then sends $ cmd plus the output as the prompt; !!cmd shows the output only. Escape cancels either command and stops its process group; a cancelled command does not start a model response.

On macOS, ctrl+v or alt+v in the terminal attaches an image from the system clipboard; the desktop window also accepts cmd+v. An image pasted from the clipboard, or attached with @shot.png, shows in the transcript, and so does any image the model shows you. read on an image path, or a markdown image link such as !plot in a reply, shows that file. In Ghostty, Kitty, WezTerm, and Konsole the picture renders through the Kitty graphics protocol; in iTerm2 and Warp through inline images; in other terminals as half-block cells. SIGIL_GRAPHICS=kitty, iterm2, or none overrides the detection, and tmux turns it off. A picture is 48 rows tall at most, and a picture scrolled partly off the screen shows the rows that are on it. read on an image reports its type and size, and the picture shows in the transcript; the model attaches it as @path to look at it. /view shot.png, or → on an image in the tree, shows the picture in the view pane.

A fenced mermaid block in a reply renders as a diagram in the transcript: flowcharts and state diagrams with box-drawing edges, sequence diagrams with lifelines and frames, pie charts as bars, and xychart / xychart-beta as labeled bars. A fenced chart block with label value rows draws the same bars. Other Mermaid kinds show their source in a frame. Flow, sequence, and pie drawings come from Sigil's mermaid widget, so they look the same in every terminal.

A paste of eight or more lines, or a thousand or more bytes, folds into [pasted N lines #k] in the draft. summonr expands every token back to the pasted text when the prompt is sent or queued; ctrl+c discards them with the draft.

While a turn runs, the composer status also counts waiting input (2 queued, ↑ edits). The terminal title reads summonr · <workspace> · working or · ready, and the terminal bell rings once when a turn ends while the terminal is not focused.

/settings switches tool output between compact and full, sets chain of thought to collapsed (the default: one dim line with a line count), expanded, or off, and sets turn receipts to off (the default), collapsed (one line: files read, searches, commands, failures, changed files, and the check result), or expanded (that line, the start commit, the first five failures and changed files, and each check). A click on a receipt switches between collapsed and expanded.

/export writes the session as markdown to ~/.summonr/exports/<id>.md; /export PATH writes it where you say. It works while a turn runs. ctrl+x y (the default copy hotkey) copies the latest assistant reply. /copy all copies the full transcript. Both use OSC 52 in the terminal and the system clipboard in the window. ctrl+x t releases the mouse to the terminal so you can select and copy any transcript span; press it again to restore mouse interaction.

/pane worktrees lists the summonr/* worktrees of this repository: branch, commits ahead of the base, dirty or clean, the session that ran there, and the directory. Enter or → opens that worktree's diff (esc comes back); the right-click menu offers show diff, merge (the same ff-only merge a run ends with; a dirty tree is refused), remove worktree (only when clean and fully merged), and insert path. summonr worktrees prints the same rows; summonr worktrees --json as JSON. summonr worktrees prune --json prints the removed paths as a JSON array.

/pane jobs lists this workspace's background commands (the records under .summonr/jobs/). Each row is the command and its state (running, exit N, killed, or dead); Enter or → expands the job's status lines, and the right-click menu offers view log (the job's .log in the view pane) and kill job (the same stop run_command performs for {"job": ID, "kill": true}). The list refreshes on its own while the pane is open.

/pane peers lists the other live sessions on this machine: the mail roster, minus this one. Each row is @name, model, workspace folder, and the peer's status (idle, working). Enter or a right-click mention inserts @name into the prompt; a prompt that names a peer is delivered to its inbox instead of running a turn.

The card takes the keyboard (↑↓ role, enter picks a model, d returns it to the driving model, ←→ cycles saved workflows, s saves) and the mouse: click a role to pick its model, drag a role onto another to copy the model, click a saved name to apply it. The settings modal, model picker, and authentication card take clicks as well. The session log records the model behind every reply.

With a scout role, a --steps or --goal job opens with a read-only brief of the files, conventions, and helpers the objective touches. With a review role, a turn whose checks passed is read by the reviewer before it completes; a rejection sends the findings back as the next instruction and counts as a failed check.

Keys

On macOS the interface shows alt as ⌥, so alt+d reads ⌥D.

KeyIdle composerDuring a turn
entersendsend into the running turn after the current tool calls, or queue it for the next turn as described above; on an empty composer, send the waiting plain messages into the running turn
tabcomplete a /command, its argument, @path, a /server:prompt, or an @server:uri; in /model, cycle the filter: all, ready, ★, plan, free, think, vision, ≥1M; otherwise cycle reasoning effort (in the window, tab moves focus instead)effort takes effect when the turn ends
↑recall earlier prompts; with input queued, pull it back into the editor
escdismiss; twice within two seconds opens the session treeclose an open list or side pane first, then a pending question; otherwise cancel the turn
ctrl+cclear the draft; on an empty draft, twice within two seconds quitscancel the turn
ctrl+dquit when the draft is empty; otherwise delete the character after the caret
pgup pgdnscroll the transcript a pagesame
home endon an empty draft, jump to the top or the latest replysame
alt+din the sessions picker, twice deletes the selected session; in /login, signs out; in /model, sets the default
alt+kin /login, pastes a key on a row that also offers a sign-in
alt+pin /model, adds or removes the selected model from favorites
alt+oin /model, shows or hides models that are older than six months or have a newer model in the same family
F5retry a failed turn; in /model, refresh the providers
← →in /model, /login, and /usage, switch between the Models, Providers, and Usage tabs; ctrl+← ctrl+→ also work, and ↑ ↓ change the range in Usage
shift+enter alt+enternewline; macOS Terminal sends alt+enter for Shift+Returnsame
ctrl+jnewline (default; editable in options)
ctrl+gedit the draft in $EDITOR (default)
shift+tabtoggle approval for risky commands (in the window, shift+tab moves focus back; use the approval chip)takes effect when the turn ends; configured policy still applies
alt+← alt+→ alt+b alt+fword left or right
ctrl+w alt+backspacedelete the word before the caret
alt+ddelete the word after the caret
ctrl+u ctrl+kdelete to the line start or end
ctrl+a ctrl+estart or end of the line
ctrl+b ctrl+fone character left or right
ctrl+p ctrl+nolder or newer prompt, same as ↑ and ↓
ctrl+lredraw the screen
ctrl+xthen a letter runs that chord