@mrclrchtr/supi-ask-user

SuPi ask-user extension — rich questionnaire UI for structured agent-user decisions

Packages

Package details

extension

Install @mrclrchtr/supi-ask-user from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@mrclrchtr/supi-ask-user
Package
@mrclrchtr/supi-ask-user
Version
2.5.0
Published
Jul 19, 2026
Downloads
3,756/mo · 534/wk
Author
mrclrchtr
License
MIT
Types
extension
Size
227.6 KB
Dependencies
1 dependency · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./src/extension.ts"
  ],
  "image": "https://raw.githubusercontent.com/mrclrchtr/supi/main/packages/supi-ask-user/assets/ask-user-choice-details.png"
}

Security note

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

README

@mrclrchtr/supi-ask-user

SuPi Ask-User brings structured decision forms to your pi sessions. When the agent needs your input, you get a clear, keyboard-driven form instead of a chat message.

Install

pi install npm:@mrclrchtr/supi-ask-user

For local development:

pi install ./packages/supi-ask-user

What to expect

During a session, the agent may pause and open a small form when it needs an explicit decision from you. The form appears directly in the TUI and blocks the agent until you respond.

Each form can contain up to ten questions. A question is either a choice (pick one or more from a list) or a text (type a short answer). The agent can suggest a recommended answer, which is preselected or prefilled for you.

All questions are expected to be answered before the form can be submitted. If you leave any question unanswered, the agent receives a "needs discussion" outcome so it can follow up.

You can also add comments to individual questions, options, or the whole form if you want to explain your thinking.

If you have configured a custom Pi editor, such as a Vim or Emacs editor, Ask User creates one editor instance per form and reuses it for text answers and all comment fields. If the custom editor cannot be initialized or does not satisfy Pi's editor contract, Ask User warns and uses the default editor for that form. The decision form keeps ownership of its navigation shortcuts; main-prompt actions such as model switching are not reproduced inside the form.

Agent-facing behavior

ask_user is an interactive TUI-only handoff. The agent should use one form for one focused decision, combine related questions instead of opening multiple forms, and wait for the result before doing work that depends on your answer. Only one form can be active at a time.

The model-visible result summary is bounded to Pi's default tool-output limits: 2,000 lines or 50KB, whichever is hit first. If a very large response is truncated, the agent is told to ask a focused follow-up for any omitted text it still needs.

Preview

Keyboard reference

Choice questions

Key Action
Move between options
Space Select / toggle an option
Enter Confirm and advance
Tab / Next question (last question goes to review)
Shift+Tab / Previous question
n Comment on the focused option
c Comment on the current question
u Mark the current question unanswered
Esc Cancel the whole form

Text questions

Key Action
Enter Submit text and advance
Tab Next question
Alt+C Comment on the current question
Alt+U Mark the current question unanswered
Esc Cancel the whole form

Review screen

Key Action
Move between questions and Submit
Enter Open a question for editing, or submit the form
/ Shift+Tab Return to the last question
c Edit the form-level comment
Esc Cancel the whole form

Comment editors

Key Action
Enter Save comment and return
Esc Discard comment edits and return

With a modal custom editor, Esc is offered to the editor first so it can leave insert mode. When the editor delegates the interrupt, Ask User performs the cancel or discard action shown above.

The recommended option is labeled [recommended]. On wide terminals, option details render side-by-side with the list; on narrow terminals they stack below.