packages / pi-lens
extension

pi-lens

Real-time code feedback for pi — LSP, linters, formatters, type-checking and structural analysis surfaced directly to the agent.

No reviews yet

Install

$ pi install npm:pi-lens

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 3.8.73. 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.
  • 📡
    Extension bus — Talks to other extensions Uses pi.events to emit or listen on a shared channel, so it can coordinate with — or be driven by — other installed extensions.
  • Commands — Runs shell commands Spawns processes on your machine.
  • 🔑
    Credentials — Handles your API keys Reads or passes provider credentials. Highest-trust capability there is.
  • 📁
    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.
  • 🔀
    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.
Network destinations found in the source (2)

github.com · unpkg.com

Static analysis only — addresses built at runtime won't appear here.

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 lens_diagnosticslsp_diagnosticssymbol_searchproject_reportmodule_reportread_symbolread_enclosingpi_lens_activate_toolsast_grep_searchast_grep_replaceast_grep_outlineast_grep_dumplsp_navigationlens_diagnostic_mark

Events subscribed agent_endagent_settledcontextpilens:files:touchedresources_discoversession_before_forksession_shutdownsession_starttool_calltool_resultturn_endturn_start

APIs called cwd.replacecwd.replace.startsWithcwd.toJSONevents.emitevents.emit.bindevents.ongetActiveToolsgetActiveTools.filtergetFlagregisterCommandregisterFlagregisterMessageRendererregisterToolsessionManager.getSessionIdsessionManager.getSessionId.toJSONsetActiveToolsui.notifyui.setWidget

9 calls the source scan did not predict

cwd.replace · cwd.replace.startsWith · cwd.toJSON · events.emit.bind · events.on · getActiveTools.filter · on("pilens:files:touched") · sessionManager.getSessionId.toJSON · ui.setWidget

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 3.8.73 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

  • @ff-labs/pi-fff — FFF-powered fuzzy file and content search for pi — fast project-wide lookups as a native t…
  • @narumitw/pi-lsp — Configurable, language-agnostic LSP tools for pi through a shared language-server runner.
  • pi-readseek — LINE:HASH-anchored file operations and structural code navigation for pi — precise reads a…