packages / narumitw-pi-plan-mode
extension

@narumitw/pi-plan-mode

Adds a Codex-like read-only /plan collaboration mode to pi — explore and agree on a plan before any edits.

No reviews yet

Install

$ pi install npm:@narumitw/pi-plan-mode

Installs from npm into ~/.pi/agent/. Add -l for project-local (.pi/). Manage with pi list / pi update / pi remove.

What this package can reach

Detected automatically from the source at version 0.42.0. This describes access, not safety — you decide whether it's appropriate for what the package claims to do.

  • 🤖
    Behavior — Changes how the agent thinks Modifies the system prompt, injects messages, or rewrites conversation context.
  • 📁
    Files — Reads files outside your project Touches paths beyond the working directory, such as your home folder.
  • Intercepts tools — Can block or rewrite tool calls Subscribes to tool_call/tool_result/input. Can change a command after you approved the one displayed.
  • 🔀
    Tool control — Can switch pi's tools on and off Calls setActiveTools, so it can disable built-ins — including safety-relevant ones.
  • 🔧
    New tools — Adds model-callable tools Gives the agent new abilities. Additive and visible, unlike an override.
  • UI — Draws its own interface Renders widgets, footers, dialogs or full-screen views.

What it actually did when run

observed

Loaded in a sandbox with no network, a read-only filesystem and a recording stand-in for pi's API. This is what it called — not what the source suggests it might.

Tools registered plan_mode_questionplan_mode_complete

Events subscribed agent_endagent_settledbefore_agent_startcontextsession_shutdownsession_startthinking_level_selecttool_call

APIs called appendEntrygetActiveToolsgetActiveTools.filtergetAllToolsgetAllTools.filtergetAllTools.filter.sortgetAllTools.filter.sort.filtergetAllTools.filter.sort.filter.mapgetFlagreadSettingsregisterCommandregisterFlagregisterToolsessionManager.getBranchsetActiveToolsui.notifyui.setStatusui.setWidget

6 calls the source scan did not predict

getActiveTools.filter · getAllTools.filter · getAllTools.filter.sort · getAllTools.filter.sort.filter · getAllTools.filter.sort.filter.map · readSettings

Reached through a value the scan could not follow — passed as an argument, stored on another object, or returned by a helper.

Run against version 0.41.0 on 2026-08-01. Registration-time behaviour under default settings; other configurations may differ.

Review before you install. pi packages run with your full system permissions. Check the source, pin versions, and prefer authors you trust.

Reviews

0 published

Sign in with GitHub to write a review, reply, or vote.

No reviews yet — be the first.

More in