Pi BTW

Extension

Runs bounded side questions in isolated read-only child sessions while the main workflow stays focused.

What it does

Runs a side question asynchronously in its own Pi child session and returns the result to the parent transcript.

Uses fresh context by default, with an explicit fork mode that snapshots the current persisted parent branch.

Limits child inspection to Pi's read, grep, find, and ls tools; no shell or file-mutation tool is exposed to the child.

When to reach for it

Invocation: Run /btw with a question; add --fork only when the side question needs the current persisted branch.

A small question should not redirect the main conversation
Ask it in a fresh child session and keep the parent workflow focused.
The answer depends on decisions already recorded in the current branch
Use fork mode to give the child a point-in-time branch snapshot.
Several read-only investigations can run independently
Queue side questions and inspect generic status or cancel by run prefix.

What it adds

  • A bounded queue for asynchronous side questions.
  • Fresh and forked context modes with per-run child sessions.
  • Durable result cards plus a compact active-work widget.

How it fits

  • Pi Subagents: BTW handles short read-only side questions; Pi Subagents covers broader delegated workflows and configurable child execution.

Common questions

Is the read-only child a filesystem sandbox?
  • No. Its tool list excludes shell and mutation tools, but read-oriented tools can inspect paths available to the Pi process.
  • Use operating-system or container isolation when code running under the same account is not trusted.
What persists after a run?
  • The terminal result is appended to the parent session as a transcript entry.
  • Child session artifacts are temporary and cleanup is guarded and best effort; abnormal failure can leave private temporary data for later cleanup.
What does fork mode include?
  • It copies only the persisted parent ancestry through the leaf captured at invocation, not later parent updates.

It’s working if

  • Accepted questions appear as queued, starting, or running without replacing the parent turn.
  • A completed side question appears as a durable result card.
  • Fresh runs have no parent transcript, while forked runs use the captured branch snapshot.

Source and setup

Provenance

Project
Pi BTW
Origin
Vedang Manerikar
Current maintainer
Vedang Manerikar
Relationship
original
Installed source
git:github.com/vedang/pi-btw
Source path
View source (src/index.ts)
Compatibility
  • Interactive Pi
  • Pi child-session APIs
  • Selected model through Pi's provider runtime
License publication scope
Independently written factual summary and source link only; no source reuse permission asserted.
Reviewed revision
2996676ecde01da55c1489b62f13c1f70ceb472d
Catalog revision
e0c035a297462c519315abfa1af31a1ed3bd9eef

Setup notes

  • Requires interactive Pi and an available selected model through Pi's provider runtime.
  • The package itself runs with host-process access even though its child tool inventory is read-only.
  • No source license is declared at the reviewed revision; this guide publishes only independently written factual prose and a source link.

Commands

  • /btw QUESTION
  • /btw --fresh QUESTION
  • /btw --fork QUESTION
  • /btw status
  • /btw cancel RUN_PREFIX