/permissions; see Permissions and safety. Enter sends a message, Shift+Enter adds a newline, and Esc interrupts output. Type / to select a command. Full lists are in Keyboard shortcuts and Slash commands.
File references
Type@ to search project files and press Tab to complete paths. This works in Git and non-Git directories and on the command line:
Pasting images
Use Ctrl+V to paste an image, or Alt+V on Windows / WSL. Supported terminals also let you drag in an image path.[images]. Inline terminal display and sending images to a model are separate capabilities. Disabling display does not prevent image transmission.
Direct shell commands
! runs a local command and sends its output to the model; !! runs it without sending the output. Each prefix applies to one command without switching modes. Commands entered this way do not support background execution. Output appears as a card; long output collapses automatically and can be expanded with Ctrl+O.
During streaming output
- Enter queues a message for delivery after the current assistant turn’s tools finish.
- Esc interrupts the turn and restores queued messages to the input box.
- Alt+↑ retrieves queued messages; use Alt+Q on Windows / WSL.
- Ctrl+O collapses or expands tool output.
steeringMode and followUpMode in settings. Follow-up delivery has no dedicated shortcut by default.
External editor
Ctrl+G edits the current input in an external editor; the action isapp.editor.external. Selection order is externalEditor, VISUAL, EDITOR, then Notepad on Windows or nano elsewhere.
Plan mode
/plan toggles the mode, /plan <task> starts planning a task, and step --plan starts in Plan mode. The model investigates and writes a plan before implementation.
In Plan mode, file edits are limited to the plan file. Shell commands remain subject to the normal permission policy. Approving the plan exits Plan mode and begins implementation.
Goal mode
The status line shows active time, such as
Goal: active · 12m 3s, counting only time when the goal is active.
Manage scheduled tasks
Scheduled tasks use five-field cron expressions. Durable tasks are saved to.stepcode/cron/tasks.json in the project and require project trust. Durable tasks require the Step Code process to remain running.
See Agents and subagents for multi-agent orchestration and authorization.
After creating a task, use /cron to check its schedule and instructions. Remove tasks that are no longer needed.
