# Pi's users ask it to extend and repair itself, and it can read its own manual

*At least 23 people who judged Pi in seven weeks say they had it build, fix or reconfigure part of itself, and 9.8% of everyone judging Pi praised its extensions, the highest share of 17 coding agents. The source shows why it works: the default system prompt points the model at Pi's own docs and example extensions.*

What users credit, Pi. By Feedback Bench, 15 October 2026. Feedback Bench 1.1. Posts 2026-08-31 to 2026-10-18; bench built 2026-10-19. Web: https://feedbackbench.com/coding-agents/#/articles/pis-users-ask-it-to-extend-and-repair-itself-and-it-can-read-its-own-manual

On 3 October, two days after Pi 1.0 made its full-screen terminal view the default, a thread in r/PiCodingAgent filled up with people who could no longer copy text out of it. One rolled back a version. Others traded workarounds. Then one user posted a single line: "[i told my pi. it fixed it itself for about \$0.003 and one prompt.](https://www.reddit.com/r/PiCodingAgent/comments/1wwn6tl/copy_from_tui_does_not_work_anymore_after_recent/pdmor4h/)"

Earendil's own site invites this. "If you need a command, tool, provider, workflow, or UI tweak, just ask Pi to build it," pi.dev says, and Pi "will customize itself on the fly." What we wanted to know was whether users do it, how often, and what they say makes it work. They do. Pi's users praise its extensions more often than the users of any other agent we track, and one of them pointed to a design decision the homepage never mentions.

## The size of it

Feedback Bench read posts about 17 coding agents from 31 August to 18 October 2026. After we removed bots, staff, vendors and people promoting extensions or products of their own, 2,099 people judged Pi in some way. We read the posts in which they talk about Pi changing itself, and counted 23 people who say they had Pi build, fix or reconfigure part of Pi and that it worked, or who name that ability as a reason they use it. Six people pushed back on the idea or its friction in the same period. We found these posts by keyword and then read each one, so 23 is a floor, not a census.

The wider signal is the extensions label itself. Of the 2,099 people who judged Pi, after we also removed people promoting extensions or products of their own, 205 praised its extensions, plugins, skills or MCP servers. That is 9.8%, the highest share among the 17 agents. Amp is next at 3.4%, and Claude Code is at 1.6%.

**Exhibit 1: Pi's users praise its extensions more often than any other agent's.** Share of people who judge each agent and praise its extensions, plugins, skills or MCP servers.

|  | People praising extensions, per 100 people who judge the agent |
|---|---|
| Pi | 9.8% (205 of 2,099) |
| Amp | 3.4% (26 of 757) |
| Claude Code | 1.6% (406 of 25,304) |
| GitHub Copilot | 1.4% (20 of 1,459) |
| OpenCode | 1.2% (109 of 8,795) |
| Zed | 1.1% (15 of 1,344) |
| Conductor | 1.0% (3 of 300) |
| Cursor | 0.9% (75 of 8,101) |
| Factory | 0.9% (6 of 651) |
| OpenAI Codex | 0.7% (192 of 25,806) |
| Google Antigravity | 0.7% (54 of 7,745) |
| Kiro | 0.6% (3 of 503) |
| Devin | 0.6% (13 of 2,293) |
| Cline | 0.3% (3 of 904) |
| Warp | 0.0% (0 of 159) |
| Grok Build | 0.0% (0 of 62) |
| Augment Code | 0.0% (0 of 31) |

*31 Aug to 18 Oct 2026. Same label rule for all 17 agents. For Pi, Amp and Claude Code we also removed people promoting extensions or products of their own; Claude Code's figure is an upper bound because only flagged posts were screened. The other agents show the shared exclusions only.. On Feedback Bench's balance of praise and complaint for this criterion, Pi is 1st of 9, ahead of Claude Code..*

On Feedback Bench's own measure for [this criterion](https://feedbackbench.com/criteria/setup.extensions_mcp.md), which weighs praise against complaint across rated user-weeks, Pi is 1st of 9, just ahead of Claude Code, which has a much larger body of posts behind it. What stands apart for Pi is how often its users bring extensions up as good news, and how many say Pi wrote the extension itself.

## What users credit

The clearest explanation came from a user in a thread about using Pi as a better Claude Code. "[for me the killer feature is to have pi extends itself](https://www.reddit.com/r/PiCodingAgent/comments/1wjtm27/how_to_use_pi_as_a_better_cc/palx9or/)," they wrote, and then gave the reason in five words: "[it knows its own documentation.](https://www.reddit.com/r/PiCodingAgent/comments/1wjtm27/how_to_use_pi_as_a_better_cc/palx9or/)"

We checked the source to see whether the user was right, and they are. Pi's default system prompt, the standing instructions the model receives in every session, has a section that points the model at Pi itself. It gives the paths to the README, the docs folder and the examples folder on the user's own machine. It maps topics to files (extensions to `docs/extensions.md` and `examples/extensions/`, custom providers to `docs/custom-provider.md`, and so on). And it tells the model, "When working on pi topics, read the docs and examples, and follow .md cross-references before implementing." The examples folder holds close to 80 example extensions, among them a custom footer, a handoff command and a git checkpoint.

So when someone asks for a new extension, the model is not guessing at an API from training data. The manual and the worked examples for the exact version installed are on disk, and the prompt says where. The homepage does not mention the pointer. One user found it by its effects.

The second half of the loop is `/reload`, which loads new or changed extensions into the running session without a restart. "[pi's biggest advantage extensibility via plugins. you can ask pi to build anything for pi. everything is hot reloaded,](https://www.reddit.com/r/PiCodingAgent/comments/1wwlghm/i_built_jin_a_piopencode_alternative_and_i_think/pdlhpq7/)" one user wrote, replying to the author of a new Go alternative. Another described a session that [reloads itself after installing a skill and "picks up where it left off"](https://www.reddit.com/r/PiCodingAgent/comments/1wwj122/im_lazy_so_i_made_pi_hand_me_the_commands_it_cant/pdl47ko/). The homepage names this step too ("hit `/reload`, and keep going"), and it is what lets a user try a new extension seconds after asking for it.

## Small things, built to fit

Thirteen of the 23 describe having Pi build something new, and many of the builds read like personal fixes. One user had Pi write a way to copy a whole message or a single code block from a response. Another asked for an extension that turns file links into clickable hyperlinks, which "[fixed this for me.](https://www.reddit.com/r/PiCodingAgent/comments/1wpuic2/clickable_links_in_chat_possible/pc120wl/)" Others got a keep-awake switch and a web-fetch tool.

**Exhibit 2: Most of the 23 had Pi build a new feature for itself.** What each person we counted says they had Pi do to itself, or why they value that it can.

|  | People, each counted once |
|---|---|
| Had Pi build a new feature | 13 people |
| Name self-extension as why they value Pi | 6 people |
| Had Pi fix or reconfigure itself after an update | 3 people |
| Had Pi adapt itself for accessibility | 1 person |

*31 Aug to 18 Oct 2026. 23 people, each post read one by one. A keyword-led reading, so these are floors. The builds include a copy-message tool, clickable links, a custom footer, web fetch and a keep-awake switch..*

These people are often the same ones who keep Pi lean. A developer who has used Pi professionally for six months wrote that "[it being lean is what makes me stay. i don't use any extensions besides a custom footer one that i asked it to build](https://www.reddit.com/r/PiCodingAgent/comments/1ww2ocw/pi_for_serious_coding_work_or_more_tinkering_fun/pdnhycy/)." A heavier user put the same idea as a ratio, "[2x the effort, 10x the benefit,](https://www.reddit.com/r/PiCodingAgent/comments/1wvqksf/pi_folks_how_are_you_not_exhausted/pdee9b5/)" and explained that they install only four packages and wrote the rest. They had skipped an existing package for loading environment variables as "[overkill](https://www.reddit.com/r/PiCodingAgent/comments/1wvqksf/pi_folks_how_are_you_not_exhausted/pdee9b5/)" and asked Pi to write a smaller one. "[i can literally dream about a pi feature, and it comes true, because pi can self-modify.](https://www.reddit.com/r/PiCodingAgent/comments/1wvqksf/pi_folks_how_are_you_not_exhausted/pdee9b5/)"

For this group, self-extension and Pi's minimal core work together. Building the one small thing you need is how they avoid installing a large package that does twenty things.

## What users add to the slogan

Two uses go beyond "ask Pi to build it," and neither appears on pi.dev.

The first is repair. Three of the 23 describe Pi fixing or reconfiguring itself after an update changed something. Besides the copy fix above, one user whose subagents extension broke in the 0.86 release "[got pi to fix it,](https://www.reddit.com/r/PiCodingAgent/comments/1wlebgj/latest_pi_version_86_broke_working_with_local/pay6wqf/)" and added, "[that's the good thing about pi - something broke? get it to fix itself](https://www.reddit.com/r/PiCodingAgent/comments/1wlebgj/latest_pi_version_86_broke_working_with_local/pay6wqf/)." A third, in the same thread, wrote: "[i've been asking pi to configure itself every few updates and it's great at this. even runs a small benchmark on local models before adding them](https://www.reddit.com/r/PiCodingAgent/comments/1wlebgj/latest_pi_version_86_broke_working_with_local/pb0w3l0/)." Three people is a small group. Still, these are the posts where a release has just gone wrong and the user is happy anyway.

The second is access. One user is setting up Pi for a blind person, in a setup the poster calls still in progress, and counted Pi's ability to change itself among what made it work. The poster's own view of where that leads: "[agents and especially self modifiable agents have a lot of potential for blind people](https://twitter.com/2093454984222220288/status/2102407119068668085)."

## What to protect, and where it could reach

The thing to protect is the docs section of the system prompt, and the docs and examples it points to. The self-building our users describe depends on the model finding an accurate manual for the version on disk. When an API changes and the docs or examples lag, the model learns the old way. A release checklist that treats the examples folder as part of the product would keep the loop working.

One reach seems close. The package already ships `CHANGELOG.md`, and Pi's code already knows its path. But the docs section of the prompt lists the README, docs and examples, not the changelog. Each repair post starts from an update that changed something. Adding the changelog to that list would give the model the breaking-change notes when it is asked to do that job. One user already does this by hand, asking their agent before an update whether the breaking changes touch their own extensions.

The other request is about reloading. "[my #1 annoyance with pi rn is that i have to manually /reload](https://twitter.com/16054299/status/2108861933197897846)," one user wrote, "[i can't reload during an ongoing turn.](https://twitter.com/16054299/status/2108861933197897846)" Pi already ships an example extension, reload-runtime, that lets the model queue the reload itself, and at least one user has found their way to that behaviour. It still cannot reload during a turn, which matters to people running many long sessions.

## Limits

The six who pushed back deserve their say, and they sit inside a larger group: 142 people complained about Pi's extensions in the window, mostly about sprawl and updates that break them. A frequent critic argues that "[just ask pi to build it](https://www.reddit.com/r/PiCodingAgent/comments/1x1tqg5/pi_is_linuxvimcjsk8s_of_the_ai_harnesses_world/pf04txk/)" leads to a hundred overlapping extensions and no shared interfaces. Another user points out that everything you build you then maintain. In the copy thread itself, the original poster answered the \$0.003 fix with a fair question: "[and on next update?](https://www.reddit.com/r/PiCodingAgent/comments/1wwn6tl/copy_from_tui_does_not_work_anymore_after_recent/pdmqvl2/)" We cannot tell what the one-prompt fix changed, and for the original poster the cause turned out to be a terminal setting rather than Pi's code. Our counts come from a keyword-led reading, which finds people who describe the habit in words and misses those who simply do it. The 9.8% covers all extension praise, of which self-built extensions are one part.

## How we read this

We started from every post about Pi in the window and removed bots, Earendil staff and vendors. For the extension-praise rate, a second reader also removed people promoting extensions or products of their own; that screen covered the Pi, Amp and Claude Code praise posts, and the other agents use the shared exclusions only. We then searched for posts in which users describe Pi building, fixing or configuring itself, read each match, and counted people, not posts. Borderline posts, mostly advice to someone else to "ask Pi" (23 people), were left out of the 23. The cross-agent rate uses the same labels for all 17 agents. The labels come from large language models; we read every counted post ourselves. We checked the system prompt, the examples folder, the package contents and the changelog in Pi's public repository on 14 and 15 October.

## Sources

- [Pi, pi.dev home page, read 2026-10-15](https://pi.dev)
- [Pi source, `system-prompt.ts`, docs section (last changed 2026-10-05)](https://github.com/earendil-works/pi/blob/c30840c2eb/packages/coding-agent/src/core/system-prompt.ts)
- [Pi source, `config.ts`, docs, examples and changelog paths](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/config.ts)
- [Pi, example extensions folder, read 2026-10-15](https://github.com/earendil-works/pi/tree/main/packages/coding-agent/examples/extensions)
- [Pi, example extension `reload-runtime.ts`, in the repository since 2026-02-08](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/examples/extensions/reload-runtime.ts)
- [Pi, `package.json` for `@earendil-works/pi-coding-agent` 1.2.0 (shipped files)](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/package.json)
- [Pi, changelog, 1.0.0 (2026-10-01, full-screen view by default)](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/CHANGELOG.md)
- [Feedback Bench, Pi](https://feedbackbench.com/agents/pi.md)
- [Feedback Bench, MCP servers, plugins, skills and hooks](https://feedbackbench.com/criteria/setup.extensions_mcp.md)
- [Feedback Bench, method](https://feedbackbench.com/#/method)
