packages / pi-window-title
extension Session utilities

pi-window-title

Automatically manage pi session titles and tmux window titles for coding sessions

No reviews yet

Install

$ pi install npm:pi-window-title

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.4.6. 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.
  • 🌐
    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

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.

Events subscribed agent_endagent_startbefore_agent_startextension:settings:changed:window-titlepi-extension-settings:readypi-extension-settings:window-title:changedsession_shutdownsession_start

APIs called appendEntryevents.emitevents.ongetSessionNamegetSessionName.replacegetSessionName.replace.replacegetSessionName.replace.replace.replacegetSessionName.replace.replace.replace.replacegetSessionName.replace.replace.replace.replace.splitgetSessionName.replace.replace.replace.replace.split.mapgetSessionName.replace.replace.replace.replace.split.map.filtergetSessionName.replace.replace.replace.replace.split.map.filter.slicegetSessionName.replace.replace.replace.replace.split.map.filter.slice.joingetSessionName.replace.replace.replace.replace.split.map.filter.slice.join.trimgetSessionName.replace.replace.replace.replace.split.map.filter.slice.join.trim.trimregisterCommandsessionManager.getBranchsetSessionNameui.notifywaitForIdle

14 calls the source scan did not predict

events.emit · events.on · getSessionName.replace · getSessionName.replace.replace · getSessionName.replace.replace.replace · getSessionName.replace.replace.replace.replace · getSessionName.replace.replace.replace.replace.split · getSessionName.replace.replace.replace.replace.split.map · getSessionName.replace.replace.replace.replace.split.map.filter · getSessionName.replace.replace.replace.replace.split.map.filter.slice · getSessionName.replace.replace.replace.replace.split.map.filter.slice.join · getSessionName.replace.replace.replace.replace.split.map.filter.slice.join.trim · getSessionName.replace.replace.replace.replace.split.map.filter.slice.join.trim.trim · waitForIdle

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.4.6 on 2026-08-02. 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 Session utilities