Repository navigation
Pi-Bolt 1.2.1 is Pi 1.5.2 on 1.2.0, built ahead of
time as before. What Pi 1.5.1 and 1.5.2 bring is in their release
notes; in short: pi-bolt auth login and pi-bolt auth logout from the shell, Anthropic requests that send only the new
messages, richer Mermaid diagrams, Markdown transformers on more surfaces, grep, read and edit that stay small on large files,
Claude Fable 5.2, and a session whose folder was moved or deleted can be forked into the current folder. Everything Pi-Bolt
adds is 1.2.0's. The engine is unchanged, so the runtimes are 1.2.0's.
Changed
- Pi 1.5.2 (and 1.5.1 before it): Pi-Bolt's changes are kept on top of it.
- Prompt cache warming stays as it was. Pi 1.5.1 makes
"idle"the default forcacheWarming: after each run, Pi
sends the session's last request again while you are away, for up to 30 minutes, whenever it expects that to save more than
it costs, and each of those requests is billed. Pi-Bolt keeps"streaming", which keeps caches warm only while a reply is
being made, as in 1.2.0. To keep caches warm between runs too, set"cacheWarming": "idle"in your global settings
(~/.pi/agent/settings.json) or in/settings. - grep's
globis relative topath, in Pi-Bolt's built-in search as with ripgrep: withpath: "repo",
glob: "src/*.ts"findsrepo/src/a.tsand no longerrepo/lib/src/a.ts; a pattern without/matches names at any
depth. Withcontext, lines shared by nearby matches are shown once, and the match limit is reported only when there are
more matches. Context lines are read from the files a piece at a time, not whole. - Startup profile: recorded again for Pi 1.5.2, on macOS and Linux.
- Markdown links show where they go (#297, #318): a link whose text is not its address shows the address
in parentheses after the text, and a link to a local file opens on a click in terminals with hyperlinks. Web and mail links
are clickable text, as before. - Updating no longer compiles extensions (#317):
pi-bolt updateinstalls the release's build. Extensions that were
compiled into the build it replaced load from their files until you runpi-bolt compile, which compiles them in again
with the options of your last compile. - npm installs check the npm registry for updates (#303, #317):
pi-bolt updateon an npm install asks the npm
registry for the latest version (PIBOLT_NPM_REGISTRYnames another), then GitHub, and its hints give the npm command
that updates or goes back to an earlier version.
Fixed
- Downloads try again after a dropped connection (#317): the release files
pi-bolt compileandpi-bolt update
download are tried up to four times after a reset connection, a stall or a server error, going on from where they stopped. - A Windows update no longer stops at a locked leftover file (#316, #317): a file from an earlier update that a
running Pi-Bolt still holds is left for a later update instead of ending this one. pi-bolt compile --offkeeps its record when stopped (#317): stopped with Ctrl-C while it downloads, it puts back
what it records of your last compile.
Measured on macOS on Apple silicon (an M5), 1.2.0 / 1.2.1, medians of 11 runs, builds interleaved:
| Instructions | CPU | Peak memory | |
|---|---|---|---|
pi --version |
56 / 56 M | 4 / 4 ms | 6 / 6 MB |
pi -p (5 model turns), blank home |
189 / 190 M | 17 / 17 ms | 20 / 20 MB |
pi -p, typical home |
206 / 207 M | 18 / 18 ms | 21 / 21 MB |
pi -p, typical home with opensec-pi-subagents and opensec-pi-todo |
488 / 490 M | 45 / 45 ms | 34 / 34 MB |
| Interactive, 5 prompts | 555 / 558 M | 78 / 79 ms | 27 / 27 MB |
| 60,000-character answer, per frame | 1.20 / 1.20 M | ||
Resuming a 2,292-entry session (pi -c, fullscreen), until the first frame (5 runs) |
507 / 506 M | 80 / 79 MB |
Peak memory is the physical footprint. The answer row streams at 1,200 characters a second (bench/long_answer.py).
Install
curl -fsSL https://pi-bolt.opensec.in/install.sh | shirm https://pi-bolt.opensec.in/install.ps1 | iexpowershell -c "irm https://pi-bolt.opensec.in/install.ps1 | iex"or pi-bolt update, or npm install -g --allow-scripts=pi-bolt pi-bolt, or bun add -g --trust pi-bolt, or:
- Homebrew (macOS on Apple silicon, Linux):
brew install opensec-git/tap/pi-bolt - Scoop (Windows):
scoop bucket add opensec-git https://github.com/opensec-git/scoop-bucket, thenscoop install opensec-git/pi-bolt - mise:
github:opensec-git/Pi-Boltwith the options in the installation guide
The installer checks the release signature with OpenSSL 3, ssh-keygen (OpenSSH 8.1 or later), or an installed Pi-Bolt.
Every archive also has a GitHub build attestation: gh attestation verify <file> -R opensec-git/Pi-Bolt.
| Asset | For |
|---|---|
pi-bolt-linux-x64.tar.xz / .tar.gz |
Recommended on Linux x86-64. CPUs with AVX2 (Intel Haswell 2013+, AMD Zen+). |
pi-bolt-linux-x64-baseline.tar.xz / .tar.gz |
Any x86-64 CPU with SSE4.2. |
pi-bolt-linux-x64-jit.tar.xz / .tar.gz |
JIT also on, for plugins loaded at run time. |
pi-bolt-linux-x64-musl.tar.xz / .tar.gz |
Alpine Linux and other musl systems on x86-64 (AVX2). Needs libstdc++. |
pi-bolt-linux-x64-musl-baseline.tar.xz / .tar.gz |
musl on any x86-64 CPU with SSE4.2. |
pi-bolt-linux-x64-musl-jit.tar.xz / .tar.gz |
musl, JIT also on. |
pi-bolt-linux-arm64.tar.xz / .tar.gz |
Linux on ARM64, any 64-bit ARM CPU; Android in Termux, with the installer. |
pi-bolt-linux-arm64-jit.tar.xz / .tar.gz |
Linux on ARM64, JIT also on. |
pi-bolt-darwin-arm64.tar.xz / .tar.gz |
macOS. Macs with Apple silicon, macOS 13 or later. |
pi-bolt-darwin-arm64-jit.tar.xz / .tar.gz |
macOS, JIT also on. |
pi-bolt-win32-x64.zip |
Windows. Windows 10 (1809) or 11 on x64; compiled code on AVX2 CPUs, bytecode on others. |
pi-bolt-win32-x64-jit.zip |
Windows, JIT also on. |
pi-bolt-runtime-linux-x64.tar.gz, pi-bolt-runtime-linux-x64-musl.tar.gz, pi-bolt-runtime-linux-arm64.tar.gz, pi-bolt-runtime-darwin-arm64.tar.gz, pi-bolt-runtime-win32-x64.zip |
The Pi-Bolt Bun runtime, for compiling plugins in. |
pi-bolt-kit-linux-x64.tar.gz, pi-bolt-kit-linux-x64-musl.tar.gz, pi-bolt-kit-linux-arm64.tar.gz, pi-bolt-kit-darwin-arm64.tar.gz |
What pi-bolt compile builds with, besides the runtime. |
install.sh, install.ps1 |
The installers, listed in the signed SHA256SUMS: pi-bolt update runs them only after checking them. |
Linux x86-64 or ARM64 with glibc 2.17 or later; Alpine and other musl Linux on x86-64; Android 7 or later on 64-bit ARM, in Termux; macOS 13 or later on Apple silicon;
Windows 10 1809 or later, or Windows 11, on x64.