Pi Interactive Shell

Extension

Runs interactive terminal programs in observable overlays or managed background sessions, with direct control, dispatch completion, and event-driven monitoring.

What it does

Pi Interactive Shell runs terminal programs through a pseudoterminal and exposes them in a Pi overlay or managed background session.

Its interactive, hands-free, dispatch, and monitor modes let a user watch or take over while the agent sends input, reads output, or waits for event-driven notifications.

When to reach for it

Invocation: Ask Pi to launch an interactive command-line program, use the interactive terminal tool, or use the spawn command for a configured coding agent.

A terminal program needs live input or user supervision
Open an interactive overlay and address the running process by session ID.
A delegated coding-agent task should return control immediately
Use dispatch mode and receive a completion turn instead of polling.
A long-running process should wake the agent only on selected output or state changes
Use monitor mode with bounded stream, poll-diff, or file-watch triggers.

What it adds

  • A PTY-backed terminal session with xterm-compatible rendering and ordered input.
  • Stable session IDs for status, input, backgrounding, reattachment, dismissal, and output retrieval.
  • Completion and monitor-event notifications that can start a follow-up Pi turn.

How it fits

  • Pi Subagents: Interactive Shell exposes external coding-agent terminals for observation and takeover; Pi Subagents provides structured Pi child execution under parent-controlled contracts.

Common questions

Does the extension sandbox launched commands?
  • No. The subprocess runs through a local shell with the selected working directory and inherited environment. Use an isolated working directory or worktree when unattended work could change repository state.
How do modes differ?
  • Interactive mode returns a session ID for direct driving, hands-free mode adds progress updates, dispatch mode notifies on completion, and monitor mode emits only configured trigger events.

It’s working if

  • A launched process returns a session ID and accepts status, output, or input operations while it remains active.
  • Dispatch completion or a configured monitor match produces a bounded notification without a polling loop.

Source and setup

Provenance

Origin
Nico Bailon
Current maintainer
Nico Bailon
Relationship
original
Installed source
npm:pi-interactive-shell
Source path
View source (index.ts)
Compatibility
  • Pi package and TUI APIs
  • Node.js 22.19 or newer
  • zigpty-supported platform
License
MIT
License publication scope
Source link, independently written summary, attribution, and reviewed behavior claims; no package source text is republished.
Reviewed revision
c5dac7836f6886ed001697acddc15d56fbefe199
Catalog revision
e0c035a297462c519315abfa1af31a1ed3bd9eef

Setup notes

  • Created and maintained by Nico Bailon; this record reviews npm version 0.14.1 and its registry-linked source commit.
  • Requires Node runtime version 22.19 or newer plus a platform supported by the bundled PTY dependency.
  • The immutable package manifest and npm metadata declare MIT; version 0.14.1 does not contain a standalone license file.
  • Bundled core and example skills plus example prompt templates remain secondary, unfeatured surfaces in this catalog record.

Commands

  • /spawn
  • /attach
  • /dismiss