phux
reference

phux actions reference

Every action a keybinding, palette row, context menu, or hook can dispatch, with its parameter surface and where the command palette offers it.

evolving document
Full source summary

Every action a keybinding, palette row, context menu, or hook can dispatch, with its parameter surface and where the command palette offers it. Rendered from the same in-code inventories the dispatcher and palette are test-pinned to, so an action is listed here exactly when the binary handles it.

An action is what a keybinding, palette row, context-menu entry, or hook binds to: a bare name, or a name plus parameters ({ action = "split-pane", direction = "vertical" } in config TOML). The table lists every action the TUI dispatcher handles, in the canonical ACTION_NAMES order; unit tests pin this inventory to the dispatcher and the command palette, so an action appears here exactly when the binary handles it.

The Palette column is the command-palette section the action is offered under; a dash means the palette deliberately has no row for it (reasons follow the table). An empty Parameters cell means the action takes none.

ActionPaletteParametersDescription
split-panePanedirection = horizontal | verticalSplit the focused pane side-by-side (vertical divider)
kill-panePaneClose the focused pane
new-windowWindowOpen a new window
kill-windowWindowClose the active window and all its panes
next-windowWindowSwitch to the next window
previous-windowWindowSwitch to the previous window
select-windowindex (0-based window position)Focus the window at a given index
rename-windowWindowname? (bare opens an interactive prompt)Rename the active window (interactive prompt)
rename-sessionSessionname? (bare opens an interactive prompt)Rename the current session (interactive prompt)
focus-directionPanedirection = left | right | up | downMove focus to the pane on the left
resize-panePanedirection = left | right | up | down; amount (cells)Grow the focused pane to the left
show-helpOpen the fuzzy commands and help finder
getting-startedViewGetting started: detach, return, and command discovery
copy-modeEnter copy-mode on the focused pane (scrollback navigation, selection, yank)
detachViewDetach this client from the session
next-panePaneCycle focus to the next pane
previous-panePaneCycle focus to the previous pane
last-panePaneJump back to the previously focused pane
toggle-zoomPaneZoom the focused pane to fill the window (toggle)
toggle-sidebarViewShow or hide the window sidebar (toggle)
command-paletteOpen the fuzzy commands and help finder
context-menuPaneOpen the context menu for the focused pane (ADR-0058)
window-pickerWindowPick a window from all sessions (grouped)
session-pickerSessionPick a session from a filterable list
agent-fleetViewAgent fleet: every pane’s agent, state, and attention
focus-panewindow (window index), pane (DFS leaf ordinal)Focus a pane by window index and DFS leaf ordinal
next-attentionPaneJump to the next pane waiting for an answer
return-from-attentionPaneReturn to where attention navigation started
switch-sessionname; window? (window index to select after the switch); pane? (DFS leaf ordinal to focus in that window)Re-attach this client to another session
new-sessionSessionname? (bare opens an interactive prompt)Create a new session and switch to it
take-inputPaneTake the wheel: seize exclusive input over the focused pane (ADR-0033)
give-inputPaneGive back the wheel: release the focused pane’s input lease (ADR-0033)
signal-terminalPanesignal = interrupt | freeze | resume | terminate | killSignal the focused pane’s process group (freeze/resume/kill, ADR-0033)
set-panePanemouse = on | off | toggleToggle per-pane mouse opt-out for the focused pane (ADR-0048)
plugin-actionplugin, actionRun an enabled plugin’s manifest action
plugin-paneplugin, paneOpen an enabled plugin’s manifest pane
reload-configViewReload the config file (keybindings, theme, status bar)

Why the dash rows have no palette entry:

  • command-palette — it is an entry alias for the finder, so listing it inside the finder would recurse.
  • show-help — it is an entry alias for the same finder as command-palette, so listing it would duplicate that surface.
  • select-window — parameterized by index, which the palette has no UI to collect; the window picker is the surface for “jump to window N”.
  • switch-session — requires a name arg supplied by the session picker (or the fleet’s foreign rows), so a bare palette row would have no target to act on.
  • copy-mode — a modal input surface entered from its keybinding, not a one-shot command the palette can commit.
  • plugin-action — its palette rows are built dynamically from enabled plugins’ manifests, one per manifest action, carrying plugin/action args a static row could not supply.
  • plugin-pane — same shape as plugin-action: dynamic rows from enabled plugins’ manifest [[panes]], carrying plugin/pane args.
  • focus-pane — parameterized by coordinates only the agent-fleet dashboard’s rows can supply (the select-window precedent).
View exact source