@narumitw/pi-statusline
Pi extension that replaces the footer with an information-rich statusline.
Package details
Install @narumitw/pi-statusline from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@narumitw/pi-statusline- Package
@narumitw/pi-statusline- Version
0.1.34- Published
- May 24, 2026
- Downloads
- 3,741/mo · 2,447/wk
- Author
- narumitw
- License
- MIT
- Types
- extension
- Size
- 27.6 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./src/statusline.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
✨ pi-statusline — Rich Statusline for the Pi Coding Agent
@narumitw/pi-statusline is a native Pi coding agent extension that replaces Pi's footer with a beautiful, information-rich terminal statusline.
Use it to monitor model selection, thinking level, git branch, working directory, active tools, context usage, token totals, estimated cost, time, and statuses from other Pi extensions.
✨ Features
- Replaces the default Pi footer with a compact preset-based statusline.
- Shows model, thinking level, git branch, project directory, active tool, context usage, tokens, cost, and clock.
- Displays compact statuses published through Pi's generic extension status API.
- Preserves extension-provided status icons when the status text starts with one.
- Warns when the same extension package is installed from multiple sources.
- Uses emoji-labeled segments for readability in both classic and Tokyo Night presets.
- Adapts to terminal width and truncates safely.
- Requires no configuration, with optional preset selection through
PI_STATUSLINE_PRESET.
📦 Install
pi install npm:@narumitw/pi-statusline
Try without installing permanently:
pi -e npm:@narumitw/pi-statusline
Try this package locally from the repository root:
pi -e ./extensions/pi-statusline
🎨 Presets
pi-statusline supports presets through the PI_STATUSLINE_PRESET environment variable:
PI_STATUSLINE_PRESET=tokyo-night pi
PI_STATUSLINE_PRESET=classic pi
Supported presets:
tokyo-night— the default, inspired by the Starship Tokyo Night preset, using░▒▓/powerline blocks and the Tokyo Night color ramp.classic— a compact Pi-themed statusline with left-aligned•separators.
Unset or invalid values fall back to tokyo-night. Both presets keep the same emoji-labeled information and preserve extension-provided status icons.
👀 What it shows
The default tokyo-night statusline uses a Starship-inspired ░▒▓ / powerline layout and includes:
πbrand marker.- 🤖 current model.
- 🧠 thinking level.
- 📁 current project directory.
- 🌿 git branch.
- ⚙ active or last tool.
- 🪟 context usage percentage.
- 🔢 token totals.
- 💸 estimated cost.
- 🕒 clock.
Statuses from other extensions appear on their own compact line below the main statusline and use each preset's separator.
pi-statusline is extension-agnostic: it consumes Pi's generic extension status API and does not import or depend on status-producing extensions. If an extension wants a custom icon, it should include that icon at the start of its status text, for example ctx.ui.setStatus("goal", "🎯 active"). Statuses without a leading icon use the generic 🔌 icon.
Examples:
🔌 activefor a plain status such asgoal: active.🎯 activewhen the producing extension sets🎯 active.🐍 ty ✓ ruff ✓when the producing extension sets a Python status with a leading icon.🧪 runningwhen any extension publishes an activity status with its own icon.⚠️ dup biome-lspwhen local and npm installs register the same extension.
🧠 Use cases
- Track agent context usage during long coding sessions.
- See which model and thinking level are active.
- Monitor token totals and estimated cost.
- Keep git branch and project directory visible.
- Make Pi terminal sessions easier to scan at a glance.
🗂️ Package layout
extensions/pi-statusline/
├── src/
│ └── statusline.ts
├── presets/
│ ├── ansi.ts
│ ├── classic.ts
│ ├── tokyo-night.ts
│ └── types.ts
├── README.md
├── LICENSE
├── tsconfig.json
└── package.json
The package exposes its Pi extension through package.json:
{
"pi": {
"extensions": ["./src/statusline.ts"]
}
}
🔎 Keywords
Pi extension, Pi coding agent, statusline, terminal UI, AI coding agent status, token usage, context window, model status, TypeScript Pi package.
📄 License
MIT. See LICENSE.