pi-asker

ask_user_question for pi: tabs, multi-select, previews, a review tab, and a way to flag a question for discussion

Packages

Package details

extension

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

$ pi install npm:pi-asker
Package
pi-asker
Version
1.1.0
Published
Oct 30, 2026
Downloads
458/mo · 458/wk
Author
msvart
License
MIT
Types
extension
Size
35.8 KB
Dependencies
0 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions/ask-user-question.ts"
  ]
}

Security note

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

README

pi-asker

An ask_user_question tool for pi. When the model would otherwise guess, it asks you instead, with options to pick from.

 ←   ☑ Database   ☐ Features   ✔ Submit   →

 Which database should we use?

❯ 1. Postgres (Recommended)                     ╭─ Preview ─────────────────────────╮
     Relational and mature.                     │ services:                         │
  2. SQLite                                     │   db:                             │
     One file, no server.                       │     image: postgres:17            │
  3. Type something.                            ╰───────────────────────────────────╯

  ────────────────────────────────────────
  4. 💬 I'm unsure – discuss this

 Enter select · ↑↓ move · Tab/←→ switch · Esc cancel
  • Tabs – one per question plus a Submit tab. Move freely between them; answered questions are ticked.
  • Single and multi-select – numbered options with descriptions; checkboxes when several answers apply.
  • Free text – every question has a "Type something." row you type into directly.
  • Discuss – unsure? Flag the question, optionally say why, and carry on with the rest. The model is told the question is not answered and to talk it through with you first.
  • Previews – mockups, code or configs shown next to the options (below them in narrow terminals). Text is kept verbatim; fenced code blocks are syntax highlighted.
  • Review – the Submit tab lists every answer, warns about unanswered questions, and takes an optional note for the model.
  • No hard limits – the schema only requires one question and two options. The tool description steers the model towards a few short questions instead.
  • RPC hosts – in RPC mode (e.g. Paseo) the questions are asked one native select/input dialog at a time; Paseo shows them in its own question form. Discuss, the note and the side-by-side preview are terminal-only.
  • Interactive only – in print and JSON mode (and in subagents) the tool is hidden from the model, since there is no one to answer.

Install

Requires pi 1.4 or newer.

pi install npm:pi-asker
# or straight from GitHub
pi install git:github.com/msvart/pi-asker

It registers the tool as ask_user_question, so remove any other package that registers the same name, such as @juicesharp/rpiv-ask-user-question.

Keys

Key Action
↑ ↓ Move between rows
Enter Select, toggle, or confirm typed text
Space Select or toggle an option
1–9 Jump to a row and select it
Tab Shift+Tab ← → Switch question (← → move the text cursor once you have typed something)
Esc Cancel the questionnaire

License

MIT