@vanillagreen/pi-session-bridge
Pi extension and CLI for controlling visible interactive Pi sessions over a structured Unix-socket side channel.
Install
pi install npm:@vanillagreen/pi-session-bridge
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 1.4.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.
- Network — Talks to the internet Makes outbound network requests. Check the destinations are ones you expect.
- 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.
Events subscribed agent_endagent_startinputmessage_endmessage_startmessage_updatemodel_selectsession_compactsession_info_changedsession_shutdownsession_startsession_treethinking_level_selecttool_execution_endtool_execution_starttool_execution_updateturn_endturn_start
APIs called cwd.toJSONgetSessionNamegetSessionName.toJSONgetThinkingLevelgetThinkingLevel.toJSONhasPendingMessageshasPendingMessages.toJSONisIdleisIdle.toJSONisProjectTrustedmodel.id.toJSONmodel.name.toJSONmodel.provider.toJSONregisterCommandui.notify
23 calls the source scan did not predict
cwd.toJSON · getSessionName.toJSON · getThinkingLevel.toJSON · hasPendingMessages.toJSON · isIdle.toJSON · model.id.toJSON · model.name.toJSON · model.provider.toJSON · on("agent_end") · on("agent_start") · on("message_end") · on("message_start") · on("message_update") · on("model_select") · on("session_compact") · on("session_info_changed") · on("session_tree") · on("thinking_level_select") · on("tool_execution_end") · on("tool_execution_start") · on("tool_execution_update") · on("turn_end") · on("turn_start")
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 1.4.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 Bridges
- pi-roam — Post-hoc handoff of a live Pi session into tmux for remote continuation, with optional Tai…
- pi-tldraw — Pi extension that opens and persists a local tldraw MCP canvas.
- @qianhuan-lxs/pi-mcp-bridge — Pi Agent extension that bridges MCP servers to the LLM via two dynamic-context tools (Call…
- pi-codegraph-extension — CodeGraph MCP tools for the Pi Coding Agent — semantic code search, impact analysis, call …