In the process editor
⌘Z (Ctrl+Z) undoes and ⇧⌘Z (Ctrl+Shift+Z or Ctrl+Y) redoes, on Runic’s own stack of the last 15 states per document; keystrokes within 800ms coalesce into one step, while applied chat proposals and checkpoint restores always get their own. Enter opens a new line at the same indent, two spaces deeper after .then or .if, and at the end of an .if line with no .then beneath it yet, it scaffolds .then Yes and .then No. Tab indents the line or every selected line; Shift+Tab outdents. With a gray ghost suggestion showing, Tab accepts it and Esc dismisses it. Esc also closes the AI instruction bar. ⌘-click (Ctrl-click) on a .go or .do line opens that process when it exists.
With the command menu open, ↑ and ↓ move, Enter or Tab inserts, Esc dismisses. Enter on a bare . with no navigation closes the menu and opens a new line. Any Ctrl, ⌘ or Alt combination closes the menu and passes through. In the folded view, arrows, Home, End, PageUp, PageDown, ⌘C and ⌘A pass; any other key expands all folds without typing.
Floating bars and the diagram
In the extract bar’s “New process” field, Enter extracts and Esc cancels. In the AI edit bar, Enter submits and Esc closes. On the diagram, Ctrl/⌘ + scroll zooms toward the cursor; clicking the zoom percentage opens a field where Enter commits and Esc cancels; Esc leaves fullscreen; Enter or Space on a focused Go or Do card opens that process.
Sequence editor
The sequence editor binds Enter for auto-indent and Tab / Shift+Tab for block indent; its command and actor menus use the same ↑ ↓ Enter Tab Esc keys. Undo and redo there are the header buttons.
How to use it
- Undo a changePress ⌘Z (Ctrl+Z on Windows or Linux) with the caret in the process editor. The header arrows show whether a step is available.
- Scaffold a decisionType
.if Is the order paid?and press Enter at the end of the line. Two.thenbranches appear with the caret in the first. - Indent a selectionSelect several lines and press Tab; Shift+Tab reverses it.
- Take a suggestionWhen gray text with a TAB chip appears at the end of your line, press Tab to accept or Esc to dismiss.
- Send a chat messageType in the chat box and press Enter. Shift+Enter adds a line break.
- Close whatever is openPress Esc. Each press closes the innermost overlay.
Commands & shortcuts
| ⌘Z / Ctrl+Z | Undo (process editor; last 15 steps per document) |
| ⇧⌘Z / Ctrl+Shift+Z / Ctrl+Y | Redo |
| Enter | New line at the same indent; deeper after .then/.if; scaffolds branches at the end of an .if line |
| Tab | Accept ghost suggestion, else indent line or selection |
| Shift+Tab | Outdent line or selection |
| Esc (editor) | Dismiss ghost; close AI edit bar |
| ⌘ / Ctrl + click | Open the process named on a .go/.do line |
| ↑ ↓ · Enter/Tab · Esc | Command menu: navigate · insert · dismiss |
| Enter / Esc (extract name) | Extract · cancel |
| Enter / Esc (AI edit bar) | Suggest · close |
| Ctrl / ⌘ + scroll | Zoom the diagram toward the cursor |
| Enter / Esc (zoom field) | Commit · cancel a typed zoom |
| Enter / Space (Go or Do card) | Open that process |
| Enter (chat) | Send |
| Shift+Enter (chat) | New line |
| ⌘ / Ctrl + Enter | Create with AI: generate · Send feedback: send |
| Esc (global) | Close the topmost overlay; exit fullscreen |
| Tab / Shift+Tab (dialog) | Cycle focus inside the dialog |
| Enter / Esc (rename fields) | Commit · cancel the document name or a version name |
| Enter / Space (sidebar row) | Open the document |
Tips
- Undo is per document and app-owned; the browser’s native undo is bypassed because it misbehaves in a controlled textarea.
- If Tab indents when you wanted the ghost, the ghost had already gone stale; suggestions only show at the end of the caret line.
- Esc does not close Create with AI or the Build wizard while a generation is running, so a stray key cannot orphan the request.
- In the chat, Shift+Enter is the only way to get a newline; Enter always sends.
Questions
Is there a shortcut to send a chat message with ⌘Enter?
No. Enter sends in the chat. ⌘Enter is bound only in the Create with AI and Send feedback dialogs.
Why does ⌘Z undo more than one keystroke?
Keystrokes within 800ms of each other coalesce into one undo step, so a burst of typing reverts together. An applied chat proposal or a checkpoint restore always gets its own step.
Can I customize the shortcuts?
Not in the app. The bindings above are fixed.