# pi-interactive-shell

> Pi coding agent extension that allows Pi to autonomously control interactive CLIs in an observable overlay. Full PTY emulation, no  tmux, token efficient. User can take over anytime.

- **URL**: https://www.freshcrate.ai/projects/pi-interactive-shell
- **Author**: nicobailon
- **Category**: AI Agents
- **Latest version**: `v0.13.0` (2026-04-23)
- **License**: Unknown
- **Source**: https://github.com/nicobailon/pi-interactive-shell
- **Language**: TypeScript
- **GitHub**: 431 stars, 29 forks
- **Registry**: github
- **Tags**: `typescript`

## Description

Pi coding agent extension that allows Pi to autonomously control interactive CLIs in an observable overlay. Full PTY emulation, no  tmux, token efficient. User can take over anytime.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v0.13.0` | 2026-04-23 | High | ### Changed - Bundled runtime skills now live under `skills/`, with only the canonical `pi-interactive-shell` skill auto-registered. The Codex workflow skills remain packaged under `examples/skills/` as opt-in copies alongside the example prompt templates. - Codex docs now include `gpt-image-2` guidance across the optional `codex-cli` example skill plus the shared README and interactive-shell skill, covering natural-language prompting, `$imagegen`, and `-i` reference-image workflows. - Replaced |
| `v0.12.0` | 2026-04-12 | High | ## [0.12.0] - 2026-04-12  ### Added - Inline threshold trigger support for regex monitors via `threshold: { captureGroup, op, value }` with `lt`, `lte`, `gt`, and `gte` operators. - First-class `file-watch` monitor strategy with `monitor.fileWatch` config (`path`, `recursive`, `events`) and compact event lines (`EVENT path`). - Monitor lifecycle notifications (`interactive-shell-monitor-lifecycle`) with explicit terminal reasons: `stream-ended`, `script-failed`, `stopped`, and `timed-out`. - New |
| `v0.11.1` | 2026-04-12 | Medium | ### Changed - Monitor event callback now guards against emitting after the monitor is disposed, preventing stale queued notifications from a dismissed session. - Poll-diff strategy now wraps the command in a recurring loop and diffs per-interval samples instead of accumulating full PTY output. - Monitor event history cleanup retries until referenced monitor/session/active entries are gone, preventing history leaks from one-shot timers firing too early.  ### Fixed - Fixed `await` on already-reso |
| `v0.11.0` | 2026-04-11 | Medium | ### Added - New `mode: "monitor"` for `interactive_shell` to run headless background commands and wake the agent only when output lines match `monitorFilter`. - New `monitorFilter` tool parameter supporting plain-text substring matching and `/regex/flags` matching. - Monitor event notifications now wake the agent with `triggerTurn` and include `sessionId`, matched text, and the matched line. - Regression coverage for monitor mode startup validation and ANSI-stripped line matching. - Regression |
| `v0.10.8` | 2026-04-09 | High | ### Added - `submit` tool parameter for `interactive_shell` session input so the agent can type text and press Enter in one call, avoiding the common failure mode where commands are left sitting in editor-based TUIs like pi. - Regression tests covering `submit: true` for plain text input and bracketed paste input.  ### Changed - PTY backend switched from `node-pty` to `zigpty` in `pty-session.ts`, keeping the existing `PtyTerminalSession` behavior and higher-level `interactive_shell` API unchang |
| `v0.10.7` | 2026-04-04 | High | ## [0.10.7] - 2026-04-04  ### Added - Prompt-bearing monitored spawn for `/spawn`, so users can launch delegated hands-free or dispatch sessions like `/spawn claude "review the diffs" --dispatch` without dropping down to raw tool calls. - Native startup prompt support on structured `interactive_shell` spawn params via `spawn.prompt` for Pi, Codex, and Claude.  ### Changed - `/spawn` now parses quoted positional prompt text plus `--hands-free` or `--dispatch`, while plain `/spawn` remains an inte |
| `v0.10.6` | 2026-04-04 | Medium | ### Added - Multi-agent spawn support for `pi`, Codex CLI, and Claude Code. `/spawn` can now launch the configured default agent, accept explicit agent overrides like `/spawn codex`, and support `--worktree` for spawning into a separate git worktree. - First-class `spawn` params on the `interactive_shell` tool so the agent can use the same spawn abstraction directly instead of building raw command strings by hand. - Regression coverage for dispatch background recovery when a backgrounded sessio |
| `v0.10.5` | 2026-04-04 | Medium | ### Added - `spawnShortcut` config setting for the fresh-session overlay shortcut. Defaults to `alt+shift+p` and is pinned at startup like `focusShortcut`, so changes apply on reload or restart.  ### Changed - Fresh-session shortcut registration now reads from config at startup instead of a hardcoded constant, so custom `spawnShortcut` values are applied consistently. - Docs and config parity tests now cover `spawnShortcut` defaults and README alignment.  ### Fixed - Overlay row/header renderin |
| `v0.10.4` | 2026-04-04 | Medium | ### Fixed - Focus shortcut handling now uses a terminal input listener while the overlay is open, so the configured `focusShortcut` toggles focus/unfocus reliably even when editor-level shortcuts would not fire. The default shortcut is now `alt+shift+f` instead of `alt+\`` for better terminal compatibility on macOS and to avoid Pi keybinding conflicts. - Overlay shortcut interception now ignores raw key release and key repeat events, which prevents the focus toggle from firing twice on Kitty-ena |
| `v0.10.3` | 2026-04-04 | Medium | ## [0.10.3] - 2026-04-04  ### Changed - Added a `promptSnippet` for `interactive_shell` so Pi 0.59+ includes the tool in the default prompt tool list and keeps delegation guidance explicit (`dispatch` preferred by default). |

## Citation

- HTML: https://www.freshcrate.ai/projects/pi-interactive-shell
- Markdown: https://www.freshcrate.ai/projects/pi-interactive-shell.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/pi-interactive-shell/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
