pi-power-toys
Power-user customizations for the Pi coding agent — yellow session names in the footer, a /power-settings toggle menu, and more.
Package details
Install pi-power-toys from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-power-toys- Package
pi-power-toys- Version
0.2.2- Published
- Jul 27, 2026
- Downloads
- 667/mo · 27/wk
- Author
- andrea-tomassi
- License
- MIT
- Types
- extension
- Size
- 44.8 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
⚡ Pi Power Toys
Power-user customizations for the Pi coding agent
Yellow session names, dedicated compaction models, hostname in the footer — small, focused features that Pi doesn't ship natively.
Install
pi install npm:pi-power-toys
Or from source:
pi install git:github.com/andrea-tomassi/pi-power-toys
Or try without installing:
pi -e npm:pi-power-toys
Features
Each feature is independently toggleable via /power-settings and persists across restarts.
🟡 Yellow Session Name
Shows named sessions in yellow in the footer, matching the session picker color. No more guessing which session you're in.
~/external-projects (main) • my-feature-work
^^^^^^^^^^^^^^^^^^^^ yellow
🧠 Compact Model
Use a dedicated model for context compaction, independent of the active conversation model.
- Run your conversation on a strong model, compact on a cheaper one
- Model picker integrated into
/power-settings - Falls back to the session model if the configured model is unavailable
🖥️ Hostname in Footer
Shows the machine hostname in the footer status line — instantly know which machine you're coding on when working across multiple hosts.
Usage
Type /power-settings in Pi to open the interactive toggle menu:
Power Toys Settings
🟡 Yellow Session Name [ON]
🧠 Compact Model [off]
🖥️ Hostname in Footer [ON]
Changes apply immediately and are saved to ~/.pi/agent/pi-power-toys.json.
Config
{
"yellow-session-name": true,
"compact-model": "off",
"hostname-footer": true
}
compact-model accepts a "provider:model_id" string instead of a boolean.
Development
git clone https://github.com/andrea-tomassi/pi-power-toys.git
cd pi-power-toys
npm install
npm test # run unit tests
npm run typecheck # tsc --noEmit
Pi loads extensions from TypeScript source via jiti — no build step needed.
Adding a New Feature
- Create
src/features/my-feature.tsimplementing thePowerToyFeatureinterface:
import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
import type { PowerToyFeature } from "../types";
export const myFeature: PowerToyFeature = {
id: "my-feature",
label: "My Feature",
description: "What it does",
defaultValue: true,
enable(pi: ExtensionAPI, ctx: ExtensionContext) {
// Register hooks, override UI, attach listeners, etc.
},
disable(pi: ExtensionAPI, ctx: ExtensionContext) {
// Clean up: remove listeners, restore defaults, etc.
},
};
- Register it in
src/index.ts:
import { myFeature } from "./features/my-feature";
const features: PowerToyFeature[] = [
yellowSessionName,
myFeature, // ← add here
];
/power-settings picks it up automatically.
Release
npm version patch # or minor / major
git push origin main --follow-tags
This triggers the GitHub Actions publish pipeline (npm Trusted Publishing with OIDC, no token needed). See CHANGELOG.md for release history.
Feature Requests
Have an idea for a new power toy? We'd love to hear it!
Or browse existing ideas and vote on the issues board.
License
MIT © Andrea Tomassi