@cluski/pi-plan-mode
Pi extension that adds a Codex-like read-only /plan collaboration mode.
Install
pi install npm:@cluski/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.1.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.
- Subagents — Spawns agents or sessions Runs additional agents. Ask whether it caps iterations and spend.
- 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
observedLoaded 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.mapgetFlagregisterCommandregisterFlagregisterToolsessionManager.getBranchsetActiveToolsui.setStatusui.setWidget
5 calls the source scan did not predict
getActiveTools.filter · getAllTools.filter · getAllTools.filter.sort · getAllTools.filter.sort.filter · getAllTools.filter.sort.filter.map
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.1.0 on 2026-08-02.
Registration-time behaviour under default settings; other configurations may differ.
Reviews
0 publishedSign in with GitHub to write a review, reply, or vote.
No reviews yet — be the first.
More in Modes & workflows
- pi-dynamic-workflows — Claude-Code-style dynamic workflow orchestration for Pi.
- @raoxxxwq/pi-tasks — A pi extension that brings Claude Code-style task tracking and coordination to pi.
- @ifi/oh-pi-skills — On-demand skill packs for pi: web-search, debug-helper, git-workflow, and more.
- pi-plan-modus — Read-only plan mode with RepoPrompt-aware write blocking; restricts tools, bash commands, …