Keybindings

Flux loads defaults, then ~/.flux/keybindings.json, then ./.flux/keybindings.json. Project bindings replace global or default bindings for the same action.

Action Default
Cancel Esc
Expand tool detail Ctrl+D
Cycle subagents Tab
Insert newline Shift+Enter, or Option+Return on macOS terminals that support it
Submit Enter
Prompt history Up / Down
Interrupt Ctrl+C
Clear input Ctrl+U
Delete previous word Ctrl+W
Edit last prompt Ctrl+P
Retry last turn Ctrl+R
Command palette Ctrl+K Ctrl+P
Show keybindings Ctrl+K Ctrl+S
Clear screen Ctrl+L
Exit Ctrl+Q

#Override bindings

Values can be a string or an array. Chords separate strokes with spaces:

{
  "newline": ["meta+enter"],
  "openCommandPalette": ["ctrl+k ctrl+p"],
  "exit": ["ctrl+q", "ctrl+k ctrl+x"]
}

Names are case-insensitive. esc, return, and cmd normalize to escape, enter, and meta.

Terminal protocols determine which key combinations Flux can distinguish. Many terminals encode Ctrl+M as Enter and do not distinguish Shift+Enter; use Option+Return/Alt+Enter (meta+enter) when your terminal supports it.