Pico is a local, keyboard-friendly browser workspace for Pi coding-agent sessions.
It gives you a persistent session browser, a live conversation shell, git tools, and project-aware prompt helpers in one app.
| Dark mobile | Light mobile |
|---|---|
![]() |
![]() |
- A fast conversation shell for Pi sessions
- Directory-organized session browsing
- Session search, rename, delete, fork, and tree navigation
- Streaming responses with abort, steer, and queued follow-ups
- Prompt drafts, image attachments, slash commands, path completions, and
@filereferences - Model and thinking-level controls
- Optional hiding of thinking/tool output
- Git status, changed files, commits, branches, pull, push, and commit flows
- Desktop notifications, sound, and unread/live session indicators
- Settings for theme, display, auth, and completion notifications
Pico runs Pi locally through the bundled @earendil-works/pi-coding-agent SDK dependency, pinned to 0.74.0 for reproducible installs. You do not need a separate global Pi install for normal use.
If you intentionally want to test Pico against a different Pi SDK checkout or install, set:
PI_REMOTE_PI_SDK_DIR=/path/to/pi-coding-agentTo update the bundled Pi SDK dependency:
pnpm update:piRun Pico without cloning the repo:
npx @alivault/picoOr install it globally:
npm install -g @alivault/pico
pico-appPico starts locally and opens:
http://localhost:3141
You can choose a different port with:
pico-app --port 3000Update a global install with:
pico-app updateInstall dependencies:
pnpm installStart Pico in development mode:
pnpm devThen open:
http://localhost:3141
pnpm dev # start the dev server
pnpm build # build for production
pnpm preview # preview the production build
pnpm check # format/lint/typecheck
pnpm check:fix # format/lint/typecheck with fixes
pnpm release patch # check, build, version, tag, and push a releaseAfter committing changes, run one of:
pnpm release patch
pnpm release minor
pnpm release majorThe release script verifies a clean, up-to-date main, runs checks and build, bumps package.json, creates the matching v*.*.* tag, and pushes the branch plus tags. The GitHub release workflow publishes the npm package from the pushed tag.
Pico is built with:
- TanStack Start, Router, Query, Store, Hotkeys, and Pacer
- React 19
- TypeScript
- Vite+ and Nitro
- Tailwind CSS v4
- Base UI / shadcn-style components
- Pi SDK
Pico is licensed under AGPL-3.0-only. See LICENSE.



