A set of open source plugins built upon the pi coding agent.
If you've used Claude Code and want to switch to a fully open-source stack, picc faithfully ports Claude Code's harness into pi so it feels familiar out of the box: the same tools, the same commands, the same permission modes, the same UI touches.
Moreover, it's a good starting point for building your own harness upon pi. Everyone knows Claude Code has (almost) the best harness, but no set of plugins has faithfully replicated its harness before.
DISCLAIMER: The code is highly vibe-coded, but based on solid references. The author uses Tresor to inspect pi's traffic during debugging, in order to make sure the extensions work as expected, instead of reading the source code directly.
- Claude Code: A fat agent with everything inside, including trackers. Mostly not customizable.
- picc (pi): A thin agent core, can write and use any custom extension you want, including those replicating Claude Code's harness.
| Claude Code | picc (pi) | |
|---|---|---|
| Open source? | ❌ (privacy trackers inside) | ✅ |
| Customizable? | âś… (fully) | |
| 3rd party provider? | âś… | |
| Claude Code's Ecosystem | âś… | |
| Pi's Ecosystem | ❌ | ✅ |
picc-claude-shim disguises the pi agent as the Claude Code CLI, so pi can painlessly integrate with software built for Claude Code, like hapi and T3 Code.
Third-party tools that spawn
claude can drive pi with zero changes.
| Extension | What it does | Download counts |
|---|---|---|
| picc-permission-modes | Ports Claude Code's permission system to pi: the default, acceptEdits, plan, bypass, and auto modes, plus user-defined permission rules. |
|
| picc-memory | Persistent, file-based memory system that survives across conversations | |
| picc-subagents | The Agent tool — sub-agents with foreground/background runs, custom agent types, a live widget, and FleetView |
| Extension | What it does | Download counts |
|---|---|---|
| picc-tasks | Claude Code style task tracking: TaskCreate, TaskGet, TaskList, TaskUpdate |
|
| picc-bash | Claude Code style Bash tool with background command support, plus TaskStop (overrides pi's built-in bash) |
|
| picc-glob | Claude Code style Glob file finder, backed by ripgrep |
|
| picc-grep | Claude Code style Grep content search, backed by ripgrep (overrides pi's built-in grep) |
|
| picc-read | Claude Code style Read tool (overrides pi's built-in read) |
|
| picc-write | Claude Code style Write tool (overrides pi's built-in write) |
|
| picc-edit | Claude Code style Edit tool (overrides pi's built-in edit) |
|
| picc-ask-user-question | AskUserQuestion tool — structured multiple-choice questions mid-task |
| Extension | What it does | Download counts |
|---|---|---|
| picc-command-alias | Claude-style command aliases: /exit, /clear, /reset mapped to pi's built-in behaviors |
|
| picc-loop | /loop — Claude Code style cron scheduling for recurring or one-shot jobs |
|
| picc-init | /init — generates a project context file for the agent |
| Extension | What it does | Download counts |
|---|---|---|
| picc-recap | Away summary — a recap of what happened after you've stepped away | |
| picc-working-spinner | Claude Code style working indicator: spinner glyphs, shimmer, mode-aware status line, token counter |
Prerequisite: Install pi coding agent (the core of picc) following its installation guide.
After pi is installed, you can install all picc extensions with the platform-specific script:
Unix-based systems (Linux/macOS):
curl -fsSL https://raw.githubusercontent.com/Ladbaby/picc/main/install.sh | bashWindows (PowerShell):
iwr https://raw.githubusercontent.com/Ladbaby/picc/main/install.ps1 -UseBasicParsing | iexAlternatively, manually run the following lines:
pi install npm:@ladbabynpm/picc-claude-shim
pi install npm:@ladbabynpm/picc-permission-modes
pi install npm:@ladbabynpm/picc-memory
pi install npm:@ladbabynpm/picc-subagents
pi install npm:@ladbabynpm/picc-tasks
pi install npm:@ladbabynpm/picc-bash
pi install npm:@ladbabynpm/picc-glob
pi install npm:@ladbabynpm/picc-grep
pi install npm:@ladbabynpm/picc-read
pi install npm:@ladbabynpm/picc-write
pi install npm:@ladbabynpm/picc-edit
pi install npm:@ladbabynpm/picc-ask-user-question
pi install npm:@ladbabynpm/picc-command-alias
pi install npm:@ladbabynpm/picc-loop
pi install npm:@ladbabynpm/picc-init
pi install npm:@ladbabynpm/picc-recap
pi install npm:@ladbabynpm/picc-working-spinnerInstall any subset — each extension is independent and only overrides what it's designed to override.
picc is intended as a starting point, not a fixed bundle:
- Change your model — refer to pi documentation, or refer to the example ~/.pi/agent/models.json, ~/.pi/agent/settings.json, and ~/.pi/agent/keybindings.json files.
- Permission rules — configure per-tool, per-pattern rules in picc-permission-modes' config.
- Customize — every extension is a small, readable TypeScript file. Fork it, tweak it,
pi installyour own.
- pi documentation
- pi source
- npm: @ladbabynpm — all picc packages

