? in an interactive session to view the shortcuts available in your environment.Shortcut Keys | Description | Context | CodeBuddy Support |
Ctrl+C | Cancel current input or generation. | Standard interrupt | Supported |
Ctrl+D | Exit the CodeBuddy Code session (when the input box is empty and no conversation is in progress). | EOF signal, press twice to exit. | Supported |
Ctrl+L | Clear the terminal screen. | Preserve conversation history. | Supported |
Ctrl+O | Toggle detailed output. | Display detailed tool usage and execution information. | Supported |
Ctrl+R | Reverse search command history. | Interactively search previous commands. | Supported |
Ctrl+V (macOS/Linux) or Alt+V (Windows) | Paste text or images from the clipboard. On Windows, use Alt+V for a more stable experience when pasting large blocks of text. | Paste text, images, or image file paths. | Supported |
Up/Down arrow keys | Navigate command history. | Recall previous input. When queued messages exist, Up prioritizes pulling queued messages back to the input box for editing. | Supported |
Esc + Esc | Revert code/conversation. | Restore code and/or conversation to a previous state (press twice consecutively when the input box is empty). | Supported |
Tab | Toggle thinking mode. | Toggle between thinking enabled and thinking disabled. | Supported |
Shift+Tab (all platforms; Windows also supports Alt+M) | Toggle permission mode. | Cycle through default, bypassPermissions, acceptEdits, auto (when available), plan, and delegate | Supported |
Option+P (macOS) or Alt+P (Windows/Linux) | Switch model. | Quickly open the model selection panel. | Supported |
Esc + Esc rewind feature is now supported: when the input box is empty, pressing ESC twice consecutively activates the /rewind feature to quickly revert code or conversations to a previous state.Tab key is primarily used for autocompletion in CodeBuddy Code, and the switching feature for extended thinking mode is partially supported.Shift+Tab is used to switch permission modes (available on all platforms, with Alt+M supported as an alias on Windows). The current cycle order is: default → bypassPermissions → acceptEdits → auto (when available) → plan → delegate. dontAsk is not in the keyboard cycle and must be entered through --permission-mode dontAsk or settings. You can customize it through ~/.codebuddy/keybindings.json.Methodology | Shortcut Keys | Context | CodeBuddy Support |
Quick escape | \\ + Enter | Works in all terminals. | Supported |
macOS default | Option+Enter | Default setting on macOS | Supported |
Terminal settings | Shift+Enter | After running /terminal-setup | Supported |
Control sequence | Ctrl+J | Line break character for multiple lines | Supported |
Paste mode | Paste directly | For code blocks and logs | Supported |
`/terminal-setup` to install the Shift + Enter binding for iTerm2 and VS Code terminals.Shortcut Keys | Description | Annotation | CodeBuddy Support |
# at the beginning | Memory shortcut - add to CODEBUDDY.md | Prompts to select a file | Supported |
/ at the beginning | Slash commands | See Slash Commands | Supported |
! at the beginning | Bash mode | Run commands directly and add execution output to the session. | Supported |
@ | File path mention | Trigger automatic file path completion. | Supported |
Shortcut Keys | Description | CodeBuddy Support |
Ctrl+A | Move to the beginning of the line. | Supported |
Ctrl+E | Move to the end of the line. | Supported |
Ctrl+K | Delete from cursor to end of line. | Supported |
Ctrl+U | Delete from beginning of line to cursor. | Supported |
Ctrl+W | Delete the previous word. | Supported |
Ctrl+Y | Copy the last AI reply to the clipboard. | Supported |
Alt/Option+Backspace | Delete the previous word. | Supported |
Alt/Option+Delete | Delete the next word. | Supported |
Alt/Option+Left | Move to the previous word. | Supported |
Alt/Option+Right | Move to the next word. | Supported |
Ctrl+Left | Move to the beginning of the line. | Supported |
Ctrl+Right | Move to the end of the line. | Supported |
Ctrl+G | Open an external editor to edit the prompt. | Supported |
/vim command to enable vim-style editing, or configure it permanently through /config.Command | Operation | From Mode | CodeBuddy Support |
Esc | Go to NORMAL mode. | INSERT | Supported |
i | Insert before cursor. | NORMAL | Supported |
I | Insert at line start. | NORMAL | Supported |
a | Insert after cursor. | NORMAL | Supported |
A | Insert at line end. | NORMAL | Supported |
o | Open a new line below. | NORMAL | Supported |
O | Open a new line above. | NORMAL | Supported |
Command | Operation | CodeBuddy Support |
h/j/k/l | Move left/down/up/right. | Supported |
w | Next word | Supported |
e | End of word | Supported |
b | Previous word | Supported |
0 | Beginning of line | Supported |
$ | End of line | Supported |
^ | First non-blank character | Supported |
gg | Beginning of input | Supported |
G | End of input | Supported |
Command | Operation | CodeBuddy Support |
x | Delete the character. | Supported |
dd | Delete the row. | Supported |
D | Delete to end of line. | Supported |
dw/de/db | Delete word/to end/to beginning. | Supported |
cc | Modify the line. | Supported |
C | Modify to end of line. | Supported |
cw/ce/cb | Modify word/to end/to beginning. | Supported |
. | Repeat last modification. | Supported |
/clear to start a new conversation (previous conversations can be resumed through /resume).!) is disabled by default.Up arrow key to pull the queued messages back into the input box for further editing (multiple queued messages are merged in the order they were sent, joined by line breaks):Up/Down keys, the arrow keys continue to be processed as history navigation and are not interrupted.Ctrl+R to interactively search your command history:Ctrl+R to activate reverse history search.Ctrl+R again to cycle through earlier matches.Tab or Esc to accept the current match and continue editing.Enter to accept and run the command immediately.Ctrl+C to cancel and restore the original input.Backspace to cancel when the search is empty.Ctrl+B to move a regular Bash tool call to the background. (Tmux users must press Ctrl+B twice because it is the tmux prefix key.)! Prefix!, without going through CodeBuddy:! npm test! git status! ls -la
Ctrl+B shortcut.Mode | Description | Shortcut Key to Switch |
Normal mode (default) | Ask for confirmation before using tools based on permission rules. | Shift+Tab |
Auto-accept edit mode | Automatically approves file edit operations (Edit/Write). Other tools still require confirmation. | Shift+Tab |
Skip permission mode | Bypasses all permission checks. Recommended for use only in sandboxes without internet access. | Shift+Tab |
Plan Mode | AI will create a plan and wait for approval before executing it. | Shift+Tab |
Shift+Tab to switch between modes (available on all platforms, with Alt+M as an alias on Windows). You can customize keyboard shortcuts through ~/.codebuddy/keybindings.json.--permission-mode command-line argument to specify the startup mode:codebuddy --permission-mode acceptEditscodebuddy --permission-mode bypassPermissionscodebuddy --permission-mode plan
settings.json:{"permissions": {"defaultMode": "acceptEdits"}}
? at any time in an interactive session to view available keyboard shortcuts and commands. Use the /help command to get more help.Was this page helpful?
You can also Contact sales or Submit a Ticket for help.
Help us improve! Rate your documentation experience in 5 mins.
Feedback