/shortcuts to browse and rebind them interactively, or edit the keymap section of your config file directly.
Input Shortcuts
These shortcuts work while typing at the prompt.On macOS,
Alt is the Option key. Some shortcuts below use Alt (Option) as a modifier. We recommend configuring Option as Meta for the best experience.Shift+Enter from Enter. Use Alt+Enter or Ctrl+J instead.
Mode & Model Shortcuts
Smart mode is rolling out gradually; the cycle skips it when it is not enabled for your account. Autonomous only appears in sandbox sessions, where it is the only available permission mode.
/normal, /accept-edits, /smart, /plan, /bypass, or /mode <name>. Use /ask <question> as a oneshot command to ask questions without switching modes.
Rebinding Shortcuts
Run/shortcuts to open an interactive list of every shortcut, grouped by category. Type to search across all categories, press Enter on an action to rebind it, then press the key combination you want. Each row shows the action’s context.action identifier (for example editor.accept_line) — that is the key to use when editing the config file by hand. Rebinding from /shortcuts saves the new binding to your user config.
To set bindings directly, add a keymap section to your config file:
Ctrl+C cannot be unbound — it always cancels the running agent.Text Editing
The input uses readline-style or Emacs-style keybindings for text editing.Customizing Keybindings
Every keybinding can be viewed — and most can be changed — from inside the CLI or via the config file.Browsing shortcuts with /shortcuts
Run /shortcuts to open an interactive picker listing every keybinding, grouped by category (Input, Mode & model, Text editing, Lists & pickers, Completion, Prompts & panels, Config editor, and more). Each row shows the active keys, a description, and the shortcut’s context.action identifier (e.g. editor.insert_newline) — the identifier you use for config-file overrides. Type to search across all categories.
Rebinding interactively
In/shortcuts, press Enter on a shortcut row, then press the new key combination:
keymap section of your user config file, so it persists across sessions. Press Esc to cancel without changing anything.
A few global “chrome” keys (clear screen, the thinking-trace viewer, force full redraw) can’t be rebound interactively — the picker shows can't be rebound — because the rebind prompt must capture every key. You can still override them via the config file.
Rebinding via the config file
Add akeymap section to your user config (~/.config/devin/config.json; %APPDATA%\devin\config.json on Windows). Overrides are keyed by context, then action:
- A value may be a single key spec, a list of specs (all of them trigger the action), or an empty list
[]to unbind the action. - Overrides fully replace the built-in defaults for that action; actions you don’t list keep their defaults.
- Find the
context.actionnames in/shortcuts— each row displays its identifier.
Key spec syntax
A key spec is zero or more--separated modifiers followed by one key name, e.g. ctrl-shift-p, alt-enter, f5, K:
Validation and conflicts
Invalid entries are reported as warnings at startup and skipped — the rest of your overrides and config still apply:Ctrl+C (cancel) cannot be unbound.
