@rmirandasv/pi-ask

Adds an ask mode toggle to flip pi into a read-only conversation mode without restarting.

Packages

Package details

extension

Install @rmirandasv/pi-ask from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@rmirandasv/pi-ask
Package
@rmirandasv/pi-ask
Version
0.1.2
Published
Aug 20, 2026
Downloads
179/mo · 23/wk
Author
rmirandasv
License
MIT
Types
extension
Size
12.2 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "image": "https://raw.githubusercontent.com/rmirandasv/pi-ask/main/pi-ask.gif"
}

Security note

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

README

rmirandasv/pi-ask

A /ask and /ask:exit toggle that flips pi into a read-only conversation mode mid-session — without restarting.

pi-ask demo

What it does

pi-ask adds two slash commands that toggle pi's active toolset between your default and a restricted read-only set plus ask_question. While ask mode is active, the model cannot edit, write, or run shell commands, and a [ask] badge is visible in the status line.

It exists because pi's built-in read-only mode (--tools read,grep,find,ls) is startup-only — there is no way to enter it mid-session once you've already started. This extension fills that gap with an explicit, predictable toggle.

Install

pi install npm:rmirandasv/pi-ask

For local development from a clone of this repo, use the -e flag:

pi -e /path/to/pi-ask

Usage

Command Effect
/ask Enter ask mode (read-only + ask_question).
/ask:exit Leave ask mode and restore the previous toolset.

Both commands are idempotent: invoking one in the wrong state is a no-op with a friendly notification, never an error.

How it works

Aspect Behavior in ask mode
Toolset read, grep, find, ls, ask_question only.
Model awareness A system message is injected explaining the constraint. It stays until /ask:exit.
UI indicator A persistent [ask] badge in the status line.
Restoration The exact toolset that was active when you invoked /ask is restored on /ask:exit.

Lifecycle

Ask state behaves predictably across the session:

  • /compact — preserved.
  • Session resume — restored from the session file.
  • /clear (or /new) — reset to normal.
  • New session — starts in normal mode.

Development

Conventional Commits is enforced locally by commitlint and husky, with a GitHub Actions check on every PR. Releases are managed via standard-version: run npm run release to bump the version, regenerate the changelog, and tag the commit.

License

MIT — see LICENSE.