Key Bindings
While a lifecycle action waits for draft persistence, Esc cancels it. In a
failed-save modal, R retries and Esc cancels; only a failed quit offers X
to explicitly exit without saving pending changes.
? on an empty input shows this list in the session.
Input
| Key | Action |
|---|---|
Enter | Send; append to the FIFO queue if a turn is running |
Shift+Enter, Alt+Enter, Ctrl-J | New line |
Tab | Complete a path after @, or a skill name after /skill; again cycles matches |
Ctrl-E | Edit the prompt in $VISUAL or $EDITOR |
Ctrl-V | Attach an image from the clipboard |
Ctrl-U | Withdraw the newest queued message, else clear the input |
Up, Down (input empty) | Previous, next prompt; Up recalls the newest queued message first |
Up, Down (multi-line input) | Move between lines |
Left, Right, Home, End | Move; Ctrl-B, Ctrl-F, Ctrl-A as in a shell |
Ctrl-Left, Ctrl-Right, Alt-B, Alt-F | Move by word |
Backspace, Ctrl-H, Delete | Delete a character |
Ctrl-W, Ctrl-Backspace | Delete the word before the cursor |
Ctrl-K | Delete to end of line |
Ctrl-R | Reserved for prompt search; not yet |
Conversation
Ctrl-P or /prompts toggles a user-prompts-only history, hiding replies,
tools, logs, shell commands, turn summaries, and the sidebar. Each switch starts
at the latest prompt; scrolling keys and the mouse wheel still work. Toggle
again to restore the full transcript. This is display-only: saved history and
model context are unchanged. Permission, question, and review dialogs still
appear, and the input and status bar remain available.
| Key | Action |
|---|---|
Ctrl-P | Toggle user-prompts-only history (same as /prompts) |
PgUp, PgDn | Scroll ten lines |
Shift+Up, Shift+Down | Scroll one line |
| Mouse wheel | Scroll three lines; Shift+drag selects text |
Home, End (input empty) | Top, bottom |
Right, Left (input empty) | Unfold or fold the last tool call or the last reply's thinking |
Session
The startup project-instructions offer uses the permission dialog's magenta
border and compact cyan action strip: y generates (g is an alias), n or
Esc dismisses for this launch, and d disables future offers for this
repository. Drafts and armed skills are preserved. Up, Down, PgUp, PgDn,
and the mouse wheel scroll its text; actions stay visible. /init remains
available. Tab in the ordinary input completes /init, /instructions, and the
supported init options.
| Key | Action |
|---|---|
Esc | Ask to interrupt the running turn; y confirms. Closes a confirmation or the help. |
Ctrl-C | Ask to abort the running tool; y confirms. With no tool running, as Esc. With nothing running, clears the input. |
Ctrl-D | Confirm leaving, even when idle. Press again to exit; any other key cancels. |
Ctrl-S | Show or hide the skills/cost sidebar, even in dialogs; /sidebar where the terminal keeps Ctrl-S |
? | Help (input empty) |
/ | Begin a slash command |
Esc and Ctrl-C also ask before stopping a queued or running bang command.
Mode-switch confirmation
In plan or design mode, a build request or a mode-blocked tool call pauses for
heph's own dialog. y switches to code mode and resumes the same turn; n or
Esc keeps the mode and stops the turn. Other keys do not accept. This confirms
the mode only; pending calls still need their normal permissions.
Config error
A broken live config pauses the pending tool at heph's own dialog. Fix the named
authoritative file externally. r retries the same call under fresh policy; s
or Esc stops the turn. Up, Down, PgUp, PgDn, and the mouse wheel
scroll the error and advisory fast-model guidance. Retry and Stop remain
available while guidance loads or if it fails. This is not a permission approval
or a model question.
Permission prompt
t expands or collapses a long model-thinking fallback without answering.
| Key | Action |
|---|---|
y | Allow this call |
n, Esc | Deny |
a | Allow, and remember the shown pattern for this session |
A | Allow, and write the edited scope to the effective project config |
e | Edit the pattern; Enter keeps it, Esc cancels the edit |
Up, Down, PgUp, PgDn, mouse wheel | Scroll call and scope explanations; compact action keys stay in view |
Question
| Key | Action |
|---|---|
1 to 5 | Type an option number; edit it before confirming |
Enter | Confirm a matching option number, otherwise send the typed answer |
Esc | No answer; the model is told no one answered |
PgUp, PgDn, mouse wheel | Scroll a long question; the options and the input stay in view |
Post-review commit offer
After accepted work passes final publication gates, a dedicated dialog shows the
branch, message, and paths with the permission dialog's magenta border and
compact cyan action strip. y chooses Yes and commits as shown without an
editor. e chooses Yes, but edit the message, opening $VISUAL or $EDITOR as
a manual /commit does. n or Esc leaves the work private. Numbers, Enter,
and other keys do not approve publication. Up, Down, PgUp, PgDn, and the
mouse wheel scroll; actions stay visible. The publication lock is held until the
answer and, when accepted, through the editor and commit. See
Committing.
Base branch question
Asked before a conversation's first turn when it has no base branch (Branches).
| Key | Action |
|---|---|
| Typing | Filter the branches to those containing the text |
Up, Down | Choose among the branches shown |
Enter | Start from the chosen branch, or the name typed if none matches |
Esc | Cancel the turn; the prompt goes back in the input |
Review: the brief
| Key | Action |
|---|---|
Enter | Begin: the built-in review, or open the external tool |
q | Reject every hunk and end the turn |
Esc | Later: the change stays in the worktree, unreviewed |
Up, Down, PgUp, PgDn | Scroll |
Review: hunk by hunk
| Key | Action |
|---|---|
a | Accept |
r | Reject |
c | Reject with a comment; Enter sends, Esc cancels |
e | Edit the file in your editor |
s | Skip: rejected without comment |
q | Reject everything undecided and finish |
u, Backspace, Left | Undo the last decision; from the first hunk, back to the brief |
Esc | Stop here: decided hunks stand, the rest wait for /review |
Up, Down, PgUp, PgDn | Scroll the hunk |
Review: comments after an external tool
| Key | Action |
|---|---|
Enter, Tab | Send the comment, or skip if empty |
Shift+Tab | Back to the previous rejection |
Esc | Finish now, with the comments given so far |
Up, Down, PgUp, PgDn | Scroll |
Confirmation
| Key | Action |
|---|---|
y | Yes |
| anything else | No, dismiss |