You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gemini CLI ships with a set of default keyboard shortcuts for editing input,
navigating history, and controlling the UI. Use this reference to learn the
available combinations.
Basic Controls
Command
Action
Keys
basic.confirm
Confirm the current selection or choice.
Enter
basic.cancel
Dismiss dialogs or cancel the current focus.
Esc Ctrl+[
basic.quit
Cancel the current request or quit the CLI when input is empty.
Ctrl+C
basic.exit
Exit the CLI when the input buffer is empty.
Ctrl+D
Cursor Movement
Command
Action
Keys
cursor.home
Move the cursor to the start of the line.
Ctrl+A Home
cursor.end
Move the cursor to the end of the line.
Ctrl+E End
cursor.up
Move the cursor up one line.
Up
cursor.down
Move the cursor down one line.
Down
cursor.left
Move the cursor one character to the left.
Left
cursor.right
Move the cursor one character to the right.
Right Ctrl+F
cursor.wordLeft
Move the cursor one word to the left.
Ctrl+Left Alt+Left Alt+B
cursor.wordRight
Move the cursor one word to the right.
Ctrl+Right Alt+Right Alt+F
Editing
Command
Action
Keys
edit.deleteRightAll
Delete from the cursor to the end of the line.
Ctrl+K
edit.deleteLeftAll
Delete from the cursor to the start of the line.
Ctrl+U
edit.clear
Clear all text in the input field.
Ctrl+C
edit.deleteWordLeft
Delete the previous word.
Ctrl+Backspace Alt+Backspace Ctrl+W
edit.deleteWordRight
Delete the next word.
Ctrl+Delete Alt+Delete Alt+D
edit.deleteLeft
Delete the character to the left.
Backspace Ctrl+H
edit.deleteRight
Delete the character to the right.
Delete Ctrl+D
edit.undo
Undo the most recent text edit.
Cmd/Win+Z Alt+Z
edit.redo
Redo the most recent undone text edit.
Ctrl+Shift+Z Shift+Cmd/Win+Z Alt+Shift+Z
Scrolling
Command
Action
Keys
scroll.up
Scroll content up.
Shift+Up
scroll.down
Scroll content down.
Shift+Down
scroll.home
Scroll to the top.
Ctrl+Home Shift+Home
scroll.end
Scroll to the bottom.
Ctrl+End Shift+End
scroll.pageUp
Scroll up by one page.
Page Up
scroll.pageDown
Scroll down by one page.
Page Down
History & Search
Command
Action
Keys
history.previous
Show the previous entry in history.
Ctrl+P
history.next
Show the next entry in history.
Ctrl+N
history.search.start
Start reverse search through history.
Ctrl+R
history.search.submit
Submit the selected reverse-search match.
Enter
history.search.accept
Accept a suggestion while reverse searching.
Tab
Navigation
Command
Action
Keys
nav.up
Move selection up in lists.
Up
nav.down
Move selection down in lists.
Down
nav.dialog.up
Move up within dialog options.
Up K
nav.dialog.down
Move down within dialog options.
Down J
nav.dialog.next
Move to the next item or question in a dialog.
Tab
nav.dialog.previous
Move to the previous item or question in a dialog.
Open the current prompt or the plan in an external editor.
Ctrl+X
input.paste
Paste from the clipboard.
Ctrl+V Cmd/Win+V Alt+V
App Controls
Command
Action
Keys
app.showErrorDetails
Toggle detailed error information.
F12
app.showFullTodos
Toggle the full TODO list.
Ctrl+T
app.showIdeContextDetail
Show IDE context details.
Ctrl+G
app.toggleMarkdown
Toggle Markdown rendering.
Alt+M
app.toggleCopyMode
Toggle copy mode when in alternate buffer mode.
Ctrl+S
app.toggleYolo
Toggle YOLO (auto-approval) mode for tool calls.
Ctrl+Y
app.cycleApprovalMode
Cycle through approval modes: default (prompt), auto_edit (auto-approve edits), and plan (read-only). Plan mode is skipped when the agent is busy.
Shift+Tab
app.showMoreLines
Expand and collapse blocks of content when not in alternate buffer mode.
Ctrl+O
app.expandPaste
Expand or collapse a paste placeholder when cursor is over placeholder.
Ctrl+O
app.focusShellInput
Move focus from Gemini to the active shell.
Tab
app.unfocusShellInput
Move focus from the shell back to Gemini.
Shift+Tab
app.clearScreen
Clear the terminal screen and redraw the UI.
Ctrl+L
app.restart
Restart the application.
R Shift+R
app.suspend
Suspend the CLI and move it to the background.
Ctrl+Z
app.showShellUnfocusWarning
Show warning when trying to move focus away from shell input.
Tab
Background Shell Controls
Command
Action
Keys
background.escape
Dismiss background shell list.
Esc
background.select
Confirm selection in background shell list.
Enter
background.toggle
Toggle current background shell visibility.
Ctrl+B
background.toggleList
Toggle background shell list.
Ctrl+L
background.kill
Kill the active background shell.
Ctrl+K
background.unfocus
Move focus from background shell to Gemini.
Shift+Tab
background.unfocusList
Move focus from background shell list to Gemini.
Tab
background.unfocusWarning
Show warning when trying to move focus away from background shell.
Tab
Customizing Keybindings
You can add alternative keybindings or remove default keybindings by creating a
keybindings.json file in your home gemini directory (typically
~/.gemini/keybindings.json).
Configuration Format
The configuration uses a JSON array of objects, similar to VS Code's keybinding
schema. Each object must specify a command from the reference tables above and
a key combination.
[
{
"command": "edit.clear",
"key": "cmd+l"
},
{
// prefix "-" to unbind a key"command": "-app.toggleYolo",
"key": "ctrl+y"
},
{
"command": "input.submit",
"key": "ctrl+y"
},
{
// multiple modifiers"command": "cursor.right",
"key": "shift+alt+a"
},
{
// Some mac keyboards send "Å" instead of "shift+option+a""command": "cursor.right",
"key": "Å"
},
{
// some base keys have special multi-char names"command": "cursor.right",
"key": "shift+pageup"
}
]
Unbinding To remove an existing or default keybinding, prefix a minus sign
(-) to the command name.
No Auto-unbinding The same key can be bound to multiple commands in
different contexts at the same time. Therefore, creating a binding does not
automatically unbind the key from other commands.
Explicit Modifiers: Key matching is explicit. For example, a binding for
ctrl+f will only trigger on exactly ctrl+f, not ctrl+shift+f or
alt+ctrl+f.
Literal Characters: Terminals often translate complex key combinations
(especially on macOS with the Option key) into special characters, losing
modifier and keystroke information along the way. For example,shift+5 might
be sent as %. In these cases, you must bind to the literal character % as
bindings to shift+5 will never fire. To see precisely what is being sent,
enable Debug Keystroke Logging and hit f12 to open the debug log console.
Key Modifiers: The supported key modifiers are:
ctrl
shift,
alt (synonyms: opt, option)
cmd (synonym: meta)
Base Key: The base key can be any single unicode code point or any of the
following special keys:
Numpad: numpad0 through numpad9, numpad_add, numpad_subtract,
numpad_multiply, numpad_divide, numpad_decimal, numpad_separator
Additional context-specific shortcuts
Option+B/F/M (macOS only): Are interpreted as Cmd+B/F/M even if your
terminal isn't configured to send Meta with Option.
! on an empty prompt: Enter or exit shell mode.
? on an empty prompt: Toggle the shortcuts panel above the input. Press
Esc, Backspace, any printable key, or a registered app hotkey to close it.
The panel also auto-hides while the agent is running/streaming or when
action-required dialogs are shown. Press ? again to close the panel and
insert a ? into the prompt.
Tab + Tab (while typing in the prompt): Toggle between minimal and full UI
details when no completion/search interaction is active. The selected mode is
remembered for future sessions. Full UI remains the default on first run, and
single Tab keeps its existing completion/focus behavior.
Shift + Tab (while typing in the prompt): Cycle approval modes: default,
auto-edit, and plan (skipped when agent is busy).
\ (at end of a line) + Enter: Insert a newline without leaving single-line
mode.
Esc pressed twice quickly: Clear the input prompt if it is not empty,
otherwise browse and rewind previous interactions.
Up Arrow / Down Arrow: When the cursor is at the top or bottom of a
single-line input, navigate backward or forward through prompt history.
Number keys (1-9, multi-digit) inside selection dialogs: Jump directly to
the numbered radio option and confirm when the full number is entered.
Ctrl + O: Expand or collapse paste placeholders ([Pasted Text: X lines])
inline when the cursor is over the placeholder.
Ctrl + X (while a plan is presented): Open the plan in an external editor to
collaboratively edit or comment
on the implementation strategy.
Double-click on a paste placeholder (alternate buffer mode only): Expand to
view full content inline. Double-click again to collapse.