pi-extensions plugin
More than thirty separately installed extensions for the Pi Coding Agent: goals, plan mode, LSP and subscription limits
- 731 ★ on the repository
- Last commit
Broad access
Why this level
- Pi extensions run with your user's full permissions, as the developer warns
- `pi-accounts` switches subscription OAuth accounts, `pi-sync` uploads settings and optionally sessions to external storage and `pi-dotenv` loads environment variables
- `pi-langfuse` sends runs, costs and tool calls to Langfuse and `pi-notify` sends reminders to Telegram
Install
Manual install
pi install npm:@narumitw/pi-goalSwap in the package you need for pi-goal. The Pi Coding Agent must be installed.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Pi extensions run with your user's full permissions, as the developer warns
- `pi-accounts` switches subscription OAuth accounts, `pi-sync` uploads settings and optionally sessions to external storage and `pi-dotenv` loads environment variables
- `pi-langfuse` sends runs, costs and tool calls to Langfuse and `pi-notify` sends reminders to Telegram
This is third-party code. Review the repository files before installing.
What it does
pi-extensions is a monorepo of extensions for the Pi Coding Agent from pi.dev. They are published to npm under the @narumitw scope, and you install only the ones you need. Each one connects with `pi install npm:@narumitw/<name>`, and `pi -e npm:@narumitw/<name>` tries one without a permanent install. Several extensions can be combined in a single run. The set is split into groups. For code there are language server diagnostics for JavaScript, TypeScript, Python, Rust, Go and more, picking file lines or Git change blocks for the next prompt, and a read-only `/plan` mode. For tasks there is an extension that keeps the agent working until the goal is confirmed, visible progress, Git worktrees and a side question through `/btw`. Accounts and data are covered by switching named OAuth accounts, limit usage with reset times, loading an environment file and syncing settings through Cloudflare R2 or S3-compatible storage. A separate group handles the status line and observability, including sending traces to Langfuse.
Who it is for. For developers who work in the Pi Coding Agent and want to add plan mode, goal tracking, language-server diagnostics, usage tracking and a handy status line.
Good fit when
- The agent stops before finishing and you need `pi-goal`, which keeps going until the goal is verified
- You want to discuss a solution before edits: `pi-plan-mode` gives a read-only `/plan` mode
- A session uses OpenAI Codex, Anthropic and GitHub Copilot subscriptions, and you need to switch accounts and check remaining limits through `/accounts` and `/usage`
- Pi settings must stay identical across several computers, and `pi-sync` moves allowlisted files through S3 or Cloudflare R2
- You want the Pi footer to show the model, Git branch, context usage, tokens and cost, which `pi-statusline` or `pi-starship` provide
Not a fit when
- You work in Claude Code, Cursor or Codex: the extensions are written only for Pi and do not load in other agents
- You want the whole set installed at once with no choices: the two footer extensions, `pi-starship` and `pi-statusline`, must not be enabled together
- You need to connect MCP servers to Pi: this set has no such extension, and the catalog has a separate adapter for it
- You want a single workflow package: the combined `pi-workflow` is deprecated and has no one-step migration to the separate `pi-plan-mode` and `pi-goal` extensions
Example request
Install `pi-goal`, `pi-plan-mode` and `pi-statusline` for Pi, check that they loaded and show which commands they addedLimitations
- Needs the Pi Coding Agent itself. The extensions are written in TypeScript for its runtime and do not work in other agents.
- Some packages install from source or a local folder, without npm: for example `pi-subagents`, `pi-codex-imagegen`, `pi-inspect` and pi-notify.
- The TypeSafe AI group (typed decisions and file search built on Jev) is experimental and may change.
- `pi-starship` and `pi-statusline` must not be enabled together.
- `pi-accounts`, `pi-sync`, `pi-langfuse` and `pi-notify` work with OAuth accounts, settings storage, Langfuse and Telegram, so they need the matching accounts and access.
How to disable. Remove the unwanted extension from the package list in `~/.pi/agent/settings.json` and restart Pi or run `/reload`. If you installed the whole repository through git, replace the source entry with one that has an extensions filter. `pi-sync` data in S3 or R2 storage, access keys and settings files stay with you and are deleted separately.
FAQ
How do I install an extension for the Pi Coding Agent?
Run `pi install npm:@narumitw/pi-goal`, swapping in the package name you need. To try one without a permanent install, start Pi with the `-e` flag, for example `pi -e npm:@narumitw/pi-statusline`. Several extensions combine with several `-e` flags.
Which extensions does the author use every day?
Eight: `pi-btw` for side questions, `pi-accounts` for switching accounts, `pi-caffeinate` to keep the machine awake, `pi-codex-compact` for context compaction, `pi-stamp` for timestamps, `pi-starship` for a Starship-style footer, `pi-sync` for syncing settings and `pi-usage` for Codex limits.
Can I install every extension with one command?
Yes, `pi install git:github.com/narumiruna/pi-extensions` connects all packages under packages. To keep only some, replace the entry in `~/.pi/agent/settings.json` with one that has an extensions filter and paths like `packages/pi-accounts/src/index.ts`, then restart Pi.
How safe is it to install Pi extensions?
Pi extensions run with your user's full permissions, and the developer warns separately that a third-party extension should be reviewed before install. Start with one package, read its README and check which accounts and directories it touches.
How do I see my remaining subscription limits in Pi?
The `pi-usage` extension does it: `/usage` shows usage per provider, limits, reset times and API balances. For switching between several OAuth accounts of OpenAI Codex, Anthropic, GitHub Copilot and others there is `pi-accounts` with the `/accounts` command.
Discussion
No questions or reviews yet.
Related
PluginsA skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
Karpathy-inspired Claude Code guidelines
Karpathy-Inspired Claude Code Guidelines
Four principles in one CLAUDE.md against common LLM coding mistakes: silent assumptions, overengineering, drive-by edits
A plugin and skill that makes the agent write minimal code: reuse, stdlib and native platform features come first
GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation
Garry Tan's skill suite that turns Claude Code into a virtual team: product, architecture, design, review, QA and shipping
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| pi-extensions (this entry) | no | 731 | |
| pi-subagents | no | 1,353 | a single Pi extension for subagents and Claude Code-style orchestration |
| Agent Stuff | no | 3,192 | a personal Pi bundle with 18 skills, extensions, commands and themes, while this repo offers independent npm packages |
| pi-fabric | no | 304 | an extension for the Pi agent |
README in short
The repository page starts with a quick start: permanent install, a trial run and combining several extensions. Then come the eight extensions the author uses daily and tables by group with a description and install command: coding and delegation, TypeSafe AI, tasks, collaboration, accounts and data, and status and observability. It separately covers the `pi-tui-kit` library for extension authors, installing the whole repository through git and filtering packages. The end collects local development rules, releases through changesets and the repository structure.