Split panes, switch workspaces, and reach a waiting agent from the
keyboard. Find the default shortcuts below, then use the names in the
Action column to customize them in paneflow.json.
Cmd/Ctrl means Cmd on macOS and Ctrl on Linux or Windows.
Essential shortcuts
- Split a pane:
Cmd/Ctrl+Shift+DorCmd/Ctrl+Shift+E. - Focus a neighboring pane:
Alt+Arrow. - Select a workspace:
Cmd/Ctrl+1-9. - Reach the next waiting agent:
Cmd/Ctrl+Shift+J. - Move between shell prompts:
Cmd/Ctrl+Shift+Up/Down.
Arrow means an arrow key. Moving between shell prompts requires
shell integration (shell_integration).
Action reference
The Scope column shows where each shortcut applies. The same key
combination can trigger a different action depending on the focused pane:
Ctrl+Shift+C copies text in a terminal pane and Markdown in a Markdown
pane. Search actions apply while the corresponding search is active.
| Scope | Action | Shortcut |
|---|---|---|
| Panes and tabs | ||
| Panes and tabs | split_horizontally | Cmd/CtrlShiftD |
| Panes and tabs | split_vertically | Cmd/CtrlShiftE |
| Panes and tabs | close_pane | Cmd/CtrlShiftW |
| Panes and tabs | undo_close_pane | Cmd/CtrlShiftT |
| Panes and tabs | new_tab | Cmd/CtrlAltT |
| Panes and tabs | close_tab | Cmd/CtrlW |
| Panes and tabs | next_tab | Cmd/Ctrl] |
| Panes and tabs | previous_tab | Cmd/Ctrl[ |
| Panes and tabs | toggle_zoom | Cmd/CtrlShiftZ |
| Panes and tabs | toggle_detached_pane | Cmd/CtrlAltShiftD |
| Panes and tabs | split_equalize | Cmd/CtrlShift= |
| Panes and tabs | swap_pane | Cmd/CtrlShiftS |
| Pane focus | ||
| Pane focus | focus_left | AltLeft |
| Pane focus | focus_right | AltRight |
| Pane focus | focus_up | AltUp |
| Pane focus | focus_down | AltDown |
| Layouts | ||
| Layouts | layout_even_horizontal | Cmd/CtrlAlt1 |
| Layouts | layout_even_vertical | Cmd/CtrlAlt2 |
| Layouts | layout_main_vertical | Cmd/CtrlAlt3 |
| Layouts | layout_tiled | Cmd/CtrlAlt4 |
| Workspaces | ||
| Workspaces | new_workspace | Cmd/CtrlShiftN |
| Workspaces | close_workspace | Cmd/CtrlShiftQ |
| Workspaces | next_workspace | CtrlTab |
| Workspaces | jump_next_waiting | Cmd/CtrlShiftJ |
| Workspaces | focus_workspaces_sidebar | Cmd/CtrlAltS |
| Workspaces | select_workspace_1 | Cmd/Ctrl1 |
| Workspaces | select_workspace_2 | Cmd/Ctrl2 |
| Workspaces | select_workspace_3 | Cmd/Ctrl3 |
| Workspaces | select_workspace_4 | Cmd/Ctrl4 |
| Workspaces | select_workspace_5 | Cmd/Ctrl5 |
| Workspaces | select_workspace_6 | Cmd/Ctrl6 |
| Workspaces | select_workspace_7 | Cmd/Ctrl7 |
| Workspaces | select_workspace_8 | Cmd/Ctrl8 |
| Workspaces | select_workspace_9 | Cmd/Ctrl9 |
| Workspaces | copy_workspace_path | CtrlShiftAltC |
| Workspaces | reveal_workspace_in_file_manager | CtrlAltR |
| Workspaces | open_workspace_in_zed | CtrlAltZ |
| Workspaces | open_workspace_in_cursor | CtrlAltC |
| Workspaces | open_workspace_in_vscode | CtrlAltV |
| Workspaces | open_workspace_in_windsurf | CtrlAltW |
| App views | ||
| App views | toggle_files_sidebar | Cmd/CtrlAltF |
| App views | toggle_diff_dock_maximize | Cmd/CtrlAltM |
| App views | open_composer | Cmd/CtrlShiftSpace |
| App views | toggle_broadcast_member | Cmd/CtrlShiftB |
| App views | open_broadcast_groups | Cmd/CtrlShiftM |
| App views | open_attention_queue | Cmd/CtrlShiftU |
| App views | open_command_palette | Cmd/CtrlShiftP |
| App views | open_settings | Cmd/Ctrl, |
| Dock (outside terminals, text fields, and the code editor) | ||
| Dock (outside terminals, text fields, and the code editor) | diff_new_file_tab | Cmd/CtrlG |
| Dock (outside terminals, text fields, and the code editor) | diff_new_terminal_tab | Cmd/CtrlJ |
| Terminal pane | ||
| Terminal pane | terminal_copy | CtrlShiftC |
| Terminal pane | terminal_paste | CtrlShiftV |
| Terminal pane | terminal_paste | CtrlV(Linux, Windows) |
| Terminal pane | terminal_copy | CmdC(macOS) |
| Terminal pane | terminal_paste | CmdV(macOS) |
| Terminal pane | terminal_select_all | CtrlShiftA |
| Terminal pane | terminal_select_all | CmdA(macOS) |
| Terminal pane | scroll_page_up | ShiftPageUp |
| Terminal pane | scroll_page_down | ShiftPageDown |
| Terminal pane | jump_prev_prompt | Cmd/CtrlShiftUp |
| Terminal pane | jump_next_prompt | Cmd/CtrlShiftDown |
| Terminal pane | insert_path | Cmd/CtrlShiftI |
| Terminal pane | clear_scroll_history | Cmd/CtrlShiftK |
| Terminal pane | clear_scroll_history | CmdK(macOS) |
| Terminal pane | reset_terminal | Cmd/CtrlShiftR |
| Terminal pane | toggle_copy_mode | CtrlShiftX |
| Terminal pane | toggle_search | CtrlShiftF |
| Terminal pane | toggle_search | CmdF(macOS) |
| Terminal pane | font_size_increase | Cmd/Ctrl= |
| Terminal pane | font_size_decrease | Cmd/Ctrl- |
| Terminal pane | font_size_reset | Cmd/Ctrl0 |
| Search overlay | ||
| Search overlay | search_next | Enter |
| Search overlay | search_prev | ShiftEnter |
| Search overlay | search_next | Down |
| Search overlay | search_prev | Up |
| Search overlay | search_next | Tab |
| Search overlay | search_prev | ShiftTab |
| Search overlay | dismiss_search | Escape |
| Search overlay | toggle_search_regex | AltR |
| Search overlay | toggle_fleet_search | AltF |
| Markdown pane | ||
| Markdown pane | markdown_scroll_page_up | ShiftPageUp |
| Markdown pane | markdown_scroll_page_down | ShiftPageDown |
| Markdown pane | markdown_find_open | CtrlF |
| Markdown pane | markdown_copy | CtrlShiftC |
| Markdown pane | markdown_find_next | Enter |
| Markdown pane | markdown_find_prev | ShiftEnter |
| Markdown pane | markdown_find_dismiss | Escape |
| Application | ||
| Application | quit | Cmd/CtrlQ |
| Actions without a default shortcut | ||
| App views | close_window | Close the active window. |
Customize a shortcut
You can change shortcuts in Keyboard Shortcuts in
Paneflow settings, or edit
paneflow.json directly.
In the file, add your shortcuts to the shortcuts object:
- Use the key combination as the key, in lowercase.
- Copy the action name from the table without translating it.
- Save the file. Paneflow reloads shortcuts automatically.
{
"shortcuts": {
"secondary+shift+t": "new_tab",
"alt+1": "select_workspace_1"
}
}secondary means Cmd on macOS and Ctrl on Linux or Windows. You can
also use cmd or ctrl explicitly. Both + and - separators work:
ctrl+shift+t and ctrl-shift-t name the same key combination.
This example assigns Cmd/Ctrl+Shift+T to opening a tab and Alt+1 to
selecting the first workspace. Cmd/Ctrl+Shift+T therefore replaces its
default action of reopening a closed pane.
When you assign a shortcut to an action, that action's default shortcuts are removed. If the key combination belonged to another default action, it is reassigned too. Keep one entry per key combination, even if you change the separators or modifier order. The action still determines where the shortcut applies.
To disable a default shortcut, use the value "none", for example
"secondary+shift+d": "none". To restore a default shortcut, remove
entries that disable it or reassign its key combination or action, then
save the file.