Input basics
Windows Terminal also supports Ctrl+Enter for newlines. Customize
~/.stepcode/agent/keybindings.json, then run /reload. See Keyboard shortcuts.
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.
Slash commands
Type/ to open completion; Esc closes it.
Invoke Skills with
/skill:<name>. See Slash commands for the full list.
File references
Type@ to search project files and Tab to complete paths. This works in Git and non-Git directories and on the command line:
Approval flow
In Ask mode, or when Autopilot encounters an item requiring confirmation, Step Code opens a dialog titledApprove <tool> or Dangerous <tool>. It shows the reason and a summary of the arguments. Approval starts execution; rejection cancels that call and returns the reason to the model. A batch may prompt for each call.
Permission modes
Use
/permissions to choose, or /permissions cycle and Shift+Tab to cycle. Environment variables can override the initial mode; see Environment variables.
Operations identified by dangerous-command rules still require confirmation and are rejected in Read Only. These rules cannot cover every script or dangerous action and are not a sandbox.
Non-interactive mode (step -p) rejects calls requiring approval by default. Use --approval-mode to adjust ordinary-call policy; dangerous commands are not exempted. See The step command.
Switching modes
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.
File editing is restricted to read-only investigation, with the plan file as the only writable file. Shell commands still follow normal permissions. Approving the plan exits Plan mode and begins implementation.
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: there is no separate shell mode or user-side background execution. Output appears as a card; long output collapses automatically and can be expanded with Ctrl+O.
Goal mode
The status line shows active time, such as
Goal: active · 12m 3s, counting only time when the goal is active.
Scheduled tasks use five-field cron expressions. Durable tasks are saved to .stepcode/cron/tasks.json in the project and require project trust. Persisting a task does not let it run without a running scheduler process.
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.

