pi-sidequest
A side channel for context-aware questions in Pi.
Package details
Install pi-sidequest from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-sidequest- Package
pi-sidequest- Version
1.0.2- Published
- Jul 3, 2026
- Downloads
- 623/mo · 45/wk
- Author
- peter.pistorius
- License
- MIT
- Types
- extension
- Size
- 58.9 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
],
"video": "https://cdn.jsdelivr.net/gh/peterp/pi-sidequest@main/media/sidequest-demo.mp4",
"image": "https://cdn.jsdelivr.net/gh/peterp/pi-sidequest@main/media/sidequest-demo.webp"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Sidequest
Sidequest gives Pi a side channel: ask context-aware questions without pulling the main conversation off track.
Think of it as a better /btw: grounded in the active Pi session, threaded, persistent, and tool-capable.
Demo

Install
From npm:
pi install npm:pi-sidequest
From GitHub:
pi install git:github.com/peterp/pi-sidequest
For local development:
pi -e /absolute/path/to/pi-sidequest
Or link src/ as an auto-discovered extension directory:
ln -s /absolute/path/to/pi-sidequest/src ~/.pi/agent/extensions/sidequest
Use
Open Sidequest inside Pi:
/sidequest
Default quake console keys:
§
~
Sidequest has two focus areas:
- selection: choose root or a thread
- prompt: type and ask the next question
Press Tab to move between them. The inactive area shows [tab] in its border.
Configure the Quake key
Use an env var:
PI_SIDEQUEST_QUAKE_KEY='`'
or a config file:
// ~/.pi/agent/sidequest.json
{
"quakeKey": "`"
}
Multiple keys are supported:
PI_SIDEQUEST_QUAKE_KEYS='§,~,alt+s'
{
"quakeKeys": ["§", "~", "alt+s"]
}
Tools
Sidequest runs its own isolated, tool-capable Pi worker. By default it enables:
read, grep, find, ls, sidequest_web_search, sidequest_web_fetch
Override the allowlist:
PI_SIDEQUEST_TOOLS='read,grep,find,ls,sidequest_web_search,sidequest_web_fetch'
sidequest_web_search uses Brave Search when BRAVE_SEARCH_API_KEY is set. Otherwise it falls back to DuckDuckGo HTML search. sidequest_web_fetch fetches public HTTP(S) pages and extracts readable text.
Release
Releases use Changesets and npm trusted publishing. See RELEASE.md for the full process.
For user-facing changes, add a changeset:
npm run changeset
Merging changes to main opens or updates the release PR. Merging that release PR publishes to npm and creates the GitHub release.
