CLI Keybindings

Amp’s most important keyboard shortcut is Ctrl+O to open the command palette:

The Amp CLI command palette showing available commands

Other shortcuts worth remembering:

  • Ctrl+G opens the current prompt in your editor. This requires `$EDITOR`.
  • Ctrl+S switches agent modes.
  • Ctrl+R opens your prompt history.
  • and move to queued and previous messages so you can edit them.
  • Alt+T expands thinking and tool blocks.
  • Alt+D toggles reasoning effort for the active model where supported.
  • Alt+R toggles fast mode for the active model.
  • Ctrl+C Ctrl+N archives the current thread and starts a new one.
  • Ctrl+C Ctrl+E archives the current thread and quits.
  • Ctrl+C Ctrl+C quits.
  • @ mentions files.

To see the full map of keyboard shortcuts and all available commands, run:

amp config keymap

For app and web shortcuts, see Keyboard Shortcuts in your personal settings.

Writing Prompts

When you’re in the prompt editor in the CLI, Enter submits your prompt.

Use Shift+Enter to insert a newline when your terminal supports modified Enter keys, for example Ghostty, WezTerm, Kitty, iTerm2, or tmux with extended-keys enabled.

Amp knows how to configure tmux for this, so you can ask Amp to set it up.

Use Ctrl+J to insert a newline in any terminal.

You can also type \ followed by Return to insert a newline.

If you have the environment variable $EDITOR set, you can use Ctrl+G or the editor command from the command palette to open your editor to write a prompt.

Amp CLI in tmux

Tmux will not distinguish Shift+Enter from Enter by default. In order for Shift+Enter to insert a newline in the Amp CLI, enable extended-keys in your tmux config.

If you don’t want to change tmux settings, use Ctrl+J to insert a newline instead.

$ tmux set -s extended-keys on

To make it persistent, add set -s extended-keys on to ~/.tmux.conf, then reload: tmux source-file ~/.tmux.conf.

Amp knows how to configure tmux for this, so you can ask Amp to set it up.

Customize the Keymap

Use the amp.keymap setting to customize CLI keybindings:

{
  "amp.keymap": {
    "mode.toggle": ["ctrl+s", "ctrl+j"],
    "thread.copyURL": "<leader> u"
  }
}

Separate keys with spaces to define a chord, such as ctrl+c ctrl+e. The key <leader> u means pressing Ctrl+X and then u. To change the <leader> key, define a keymap entry for "leader".

Configuring a command replaces its default key or chord. Use an array to keep the old shortcut and add another one. Set a command’s entry to null to unbind its default.

Unlike other settings, keymaps in your user settings file at ~/.config/amp/settings.json override workspace entries in .amp/settings.json.