Pi coding agent keyboard shortcuts

Pi keeps a coding agent in your terminal and lets you send new instructions while a run is still going. Its keys control the app, switch models and thinking levels, edit and queue prompts, and browse the transcript and session tree.

Windows, macOS, Linux · 69 shortcuts

Application control

Clear, interrupt, quit, suspend, open an external editor, and move clipboard content into the current Pi session.

ActionShortcuts
Clear the editor, or quit on the second press
Windows / macOS / LinuxCtrl + C
Quit when the editor is empty
Windows / macOS / LinuxCtrl + D
Cancel autocomplete or abort streaming
Windows / macOS / LinuxEsc
Suspend Pi to the backgroundNative Windows has no default suspend binding. WSL follows the Linux behavior; use fg to resume on Unix-like shells.
WindowsNot documented
macOS / LinuxCtrl + Z
Open the prompt in an external editorUses externalEditor, VISUAL, EDITOR, Notepad on Windows, or nano elsewhere.
Windows / macOS / LinuxCtrl + G
Paste text or an imageAlt+V is the Windows and WSL fallback.
Windows / macOS / LinuxCtrl + VorAlt + V
Copy the last assistant message
Windows / macOS / LinuxCtrl + X

Models, thinking, and tools

Choose a model, cycle a scoped model list, change thinking level, and control how tool output or thinking blocks are shown.

ActionShortcuts
Open the model selector
Windows / macOS / LinuxCtrl + L
Cycle scoped models forwardShift+Ctrl+P cycles backward. Alt+P is the Windows and WSL backward binding.
Windows / macOS / LinuxCtrl + P
Cycle scoped models backward
Windows / macOS / LinuxShift + Ctrl + PorAlt + P
Cycle the thinking level
Windows / macOS / LinuxShift + Tab
Collapse or expand thinking blocks
Windows / macOS / LinuxCtrl + T
Collapse or expand tool output
Windows / macOS / LinuxCtrl + O

Prompt cursor and history

Move through the prompt by character, word, line, page, or history entry while preserving the distinction between editing and sending.

ActionShortcuts
Move up or browse older history at the top
Windows / macOS / LinuxUp
Move down or browse newer history at the bottom
Windows / macOS / LinuxDown
Move left one character
Windows / macOS / LinuxLeftorCtrl + B
Move right one character
Windows / macOS / LinuxRightorCtrl + F
Move left one word
Windows / macOS / LinuxAlt + LeftorCtrl + LeftorAlt + B
Move right one word
Windows / macOS / LinuxAlt + RightorCtrl + RightorAlt + F
Move to the line start
Windows / macOS / LinuxHomeorCtrl + HomeorCtrl + A
Move to the line end
Windows / macOS / LinuxEndorCtrl + EndorCtrl + E
Jump forward to a character
Windows / macOS / LinuxCtrl + ]
Jump backward to a character
Windows / macOS / LinuxCtrl + Alt + ]
Scroll the editor up by a page
Windows / macOS / LinuxPageUporCtrl + PageUp
Scroll the editor down by a page
Windows / macOS / LinuxPageDownorCtrl + PageDown

Editing, queue, and multiline input

Delete text, use the kill ring, insert new lines, complete paths, and decide whether a message steers the current run or follows it.

ActionShortcuts
Delete the previous character
Windows / macOS / LinuxBackspace
Delete the next character
Windows / macOS / LinuxDeleteorCtrl + D
Delete the previous word
Windows / macOS / LinuxCtrl + WorAlt + Backspace
Delete the next word
Windows / macOS / LinuxAlt + DorAlt + Delete
Delete to the line start
Windows / macOS / LinuxCtrl + U
Delete to the line end
Windows / macOS / LinuxCtrl + K
Paste the most recently deleted text
Windows / macOS / LinuxCtrl + Y
Cycle through deleted text after yanking
Windows / macOS / LinuxAlt + Y
Undo the last editAlt+Z is the documented WSL fallback.
WindowsCtrl + Z
macOS / LinuxCtrl + -
Insert a line without submittingWindows Terminal may need Ctrl+Enter instead of Shift+Enter.
Windows / macOS / LinuxShift + EnterorCtrl + JorCtrl + Enter
Complete a path or accept autocomplete
Windows / macOS / LinuxTab
Send now, or queue a steering message while busy
Windows / macOS / LinuxEnter
Queue a follow-up after the current work finishesCtrl+Q is the Windows and WSL binding. Windows Terminal may reserve Alt+Enter for full-screen.
Windows / macOS / LinuxAlt + EnterorCtrl + Q
Restore queued messages to the editorAlt+Q is the Windows and WSL binding.
Windows / macOS / LinuxAlt + UporAlt + Q

Fullscreen transcript

When fullscreen TUI mode is active, use these transcript bindings to search rendered output and jump between marked prompts.

ActionShortcuts
Scroll the transcript up by a page
Windows / macOS / LinuxPageUp
Scroll the transcript down by a page
Windows / macOS / LinuxPageDown
Jump to the previous marked prompt
WindowsCtrl + Up
macOS / LinuxCtrl + Shift + Up
Jump to the next marked prompt
WindowsCtrl + Down
macOS / LinuxCtrl + Shift + Down
Select the next transcript search match
Windows / macOS / LinuxEnterorCtrl + G
Select the previous transcript search match
Windows / macOS / LinuxShift + EnterorCtrl + Shift + G
Close transcript search
Windows / macOS / LinuxEsc
Scroll to the start of the transcript
Windows / macOS / LinuxHome
Scroll to the end and follow new output
Windows / macOS / LinuxEnd

Session tree and filters

Use the session tree and its filters to move between branches, label entries, and control which messages or tool results remain visible.

ActionShortcuts
Toggle session path display
Windows / macOS / LinuxCtrl + P
Toggle session sort mode
Windows / macOS / LinuxCtrl + S
Toggle the named-only session filter
Windows / macOS / LinuxCtrl + N
Fold a branch segment or jump to its previous start
Windows / macOS / LinuxCtrl + LeftorAlt + Left
Unfold a branch segment or jump to its next end
Windows / macOS / LinuxCtrl + RightorAlt + Right
Edit the selected tree label
Windows / macOS / LinuxShift + L
Toggle tree label timestamps
Windows / macOS / LinuxShift + T
Use the default tree filter
Windows / macOS / LinuxCtrl + D
Toggle the no-tools tree filter
Windows / macOS / LinuxCtrl + T
Toggle the user-only tree filter
Windows / macOS / LinuxCtrl + U
Toggle the labeled-only tree filter
Windows / macOS / LinuxCtrl + L
Show all tree entries
Windows / macOS / LinuxCtrl + A
Cycle tree filters forward
Windows / macOS / LinuxCtrl + O
Cycle tree filters backward
Windows / macOS / LinuxCtrl + Shift + O

Scoped model selector

Inside the scoped-models selector, save the selection, toggle providers, and reorder the models used by the cycling shortcut.

ActionShortcuts
Save the current model selection
Windows / macOS / LinuxCtrl + S
Enable all matching models
Windows / macOS / LinuxCtrl + A
Clear all matching models
Windows / macOS / LinuxCtrl + X
Toggle all models for the provider
Windows / macOS / LinuxCtrl + P
Move the selected model up
Windows / macOS / LinuxAlt + Up
Move the selected model down
Windows / macOS / LinuxAlt + Down

Source

official Pi keybindings guide · Checked

Current defaults from Pi's official coding-agent README and keybindings guide in August 2026. Bindings can be replaced in ~/.pi/agent/keybindings.json and reloaded with /reload. Native Windows and WSL have a few terminal-specific differences.

Make a printable Pi coding agent sheet