github opensec-git/Pi-Bolt bolt-v1.2.1
Pi-Bolt 1.2.1

54 minutes ago

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 for cacheWarming: 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 glob is relative to path, in Pi-Bolt's built-in search as with ripgrep: with path: "repo",
    glob: "src/*.ts" finds repo/src/a.ts and no longer repo/lib/src/a.ts; a pattern without / matches names at any
    depth. With context, 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 update installs the release's build. Extensions that were
    compiled into the build it replaced load from their files until you run pi-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 update on an npm install asks the npm
    registry for the latest version (PIBOLT_NPM_REGISTRY names 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 compile and pi-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 --off keeps 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 | sh
irm https://pi-bolt.opensec.in/install.ps1 | iex
powershell -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, then scoop install opensec-git/pi-bolt
  • mise: github:opensec-git/Pi-Bolt with 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.

Don't miss a new Pi-Bolt release

NewReleases is sending notifications on new releases.