pi-command-palette

Floating command palette for pi — search, filter, and run commands with Ctrl+P. Inspired by OpenCode.

Packages

Package details

extension

Install pi-command-palette from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-command-palette
Package
pi-command-palette
Version
0.2.2
Published
Jul 10, 2026
Downloads
not available
Author
esso0428
License
MIT
Types
extension
Size
24.8 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-command-palette

Floating command palette for pi — press Ctrl+P to open a searchable overlay. Inspired by OpenCode.

┌──────────────────────────────────────────────────────┐
│ ⌕  |  Type to filter…                                │
├──────────────────────────────────────────────────────┤
│ → Switch Model          Choose a model  → sub        │
│   Set Thinking Level    Change thinking level  → sub  │
│   New Session           Start a fresh session         │
│   Fork Session          New session linked to current │
│   Resume Session        Switch to a saved session  →  │
│   Compact Session       Trigger context compaction    │
│   Reload Session        Reload extensions / keybinds  │
│   Pin Position          Save tree position            │
│   Toggle Tool           Enable / disable a tool  →    │
│   About pi              Version, hotkeys, reference → │
└──────────────────────────────────────────────────────┘

Install

pi install pi-command-palette

Or place manually at ~/.pi/agent/extensions/pi-command-palette/index.ts and run /reload.

Usage

Key Action
Ctrl+P Open palette (requires opt-in, see below)
/palette Open palette (always available)

Navigate with arrow keys, Enter to select, Esc to go back or close.

Enable Ctrl+P

By default Ctrl+P is not registered to avoid interfering with pi's native app.model.cycleForward. Opt in by creating ~/.pi/agent/pi-command-palette.json:

{ "shortcuts": { "ctrl+p": true } }

Disable Ctrl+P (if you enabled it)

{ "shortcuts": { "ctrl+p": false } }

Recommended keybindings (for OpenCode migrants)

pi's Tab is hard-wired to tui.input.tab (autocomplete) and Shift+Tab is app.thinking.cycle by default. Use Alt+←/→ for model switching instead.

Add to ~/.pi/agent/keybindings.json:

{
  "app.model.cycleForward": "alt+right",
  "app.model.cycleBackward": "alt+left",
  "app.thinking.cycle": "ctrl+t",
  "app.thinking.toggle": "ctrl+n"
}
Key Action
Ctrl+P Open palette (opt-in)
Alt+→ Cycle model forward
Alt+← Cycle model backward
Ctrl+T Cycle thinking level
Ctrl+N Toggle thinking blocks
/palette Open palette (fallback)

Features

  • Floating overlay — opens at top-center, doesn't clear your screen
  • Includes filtering — type to filter; matches label and description
  • Nested menus — Switch Model, Set Thinking Level, Resume Session, Toggle Tool, About pi
  • Direct execution — no slash-command forwarding; all items call the pi API directly
  • Ctrl+W — delete last word in filter

Links