pi-command-palette
Floating command palette for pi — search, filter, and run commands with Ctrl+P. Inspired by OpenCode.
Package details
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