Documentation
Pi-Bolt documentation
Pi-Bolt is the Pi coding agent compiled ahead of time to native code. It is the Pi you already use, with the same commands, sessions, settings, providers and extensions, as one executable that starts two to three times sooner than Pi on Bun and uses about a third of its CPU.
What Pi-Bolt is#
Pi is a TypeScript program. Stock Pi runs on Bun or Node, which parse its code at every launch and compile the hot parts with a just-in-time (JIT) compiler while it runs. Pi-Bolt compiles every function of Pi to machine code when the executable is built, and stores Pi's modules already loaded. At launch there is nothing to parse and nothing to warm up.
What stays the same:
- Your configuration. Pi-Bolt reads
~/.pi/agent: your providers and logins, settings, sessions, skills, prompt templates and extensions. - Pi's behavior. Pi-Bolt is Pi's own source with a small set of fixes on top, not a rewrite. Each release is
built on a named Pi release, and
pi-bolt --versionshows which. - Your Pi installation. Pi-Bolt installs next to Pi as
pi-bolt. Both can stay installed.
What changes is how Pi runs: it starts sooner, uses less CPU and memory over a session, and handles long answers and large file writes far more cheaply. See How it works and Benchmarks.
Supported platforms#
| Platform | Requirements |
|---|---|
| macOS | macOS 13 or later on Apple silicon |
| Linux | x86-64 with glibc 2.17 or later (Ubuntu 20.04+, Debian 11+, RHEL/Rocky 8+, Amazon Linux 2). musl is not supported. |
| Windows | Windows 10 (1809) or later, or Windows 11, on x64 |
Linux and Windows on ARM64 are not available yet.
These docs and Pi's docs#
This documentation covers what is specific to Pi-Bolt: installing it, choosing a build, running extensions, performance and
troubleshooting. For using the agent itself, Pi's documentation applies to Pi-Bolt as written; replace pi with
pi-bolt in its commands.
| To learn about | Read in Pi's documentation |
|---|---|
| Working in the terminal interface | Use Pi in the terminal |
| Connecting a provider and choosing a model | Choose a model |
| Resuming, branching and compacting sessions | Sessions, Compaction |
| Settings, context files, skills and prompt templates | Configuration, Skills |
| Writing extensions | Extensions |
| Scripting, JSON output, RPC and the SDK | CLI, RPC, SDK |