Pi-Bolt 1.0.1 fixes compaction on models with a 1M-token context and nine bugs reported against upstream Pi, adds a /theme
command with 16 more color themes and shaded code blocks as an option, and installs with Homebrew, Scoop or mise. Everything
else is 1.0.0.
New
/theme: opens the theme list; each theme is previewed on the screen as you move to it, Enter keeps it, Esc goes back
to the one you had./theme <name>switches directly. 16 more built-in themes:tokyo-night(also-stormand-day),
catppuccin(-mocha,-macchiato,-frappe,-latte),dracula,nord,gruvbox(-dark,-light),solarized
(-dark,-light),one-dark,rose-pineandmonokai. A theme of your own with the same name as a built-in one is
used instead of it. The palettes' sources and licenses are in THIRD_PARTY_NOTICES.md
(#97 by @KrishBnsl).- Shaded code blocks: with
shadedCodeBlockson (in/settings; off by default), a code block is drawn on a background
of its own, with its language above it and no fence lines. Each line is shaded to the end of its text, so copied code has no
trailing spaces, and wrapped lines keep the block's indent. Themes set the background with the newmdCodeBlockBgtoken
(#96 by @KrishBnsl). - Homebrew, Scoop and mise (#106): see Install below.
Fixed
- Compaction on 1M-context models: since 0.9.5, which took this change early from upstream Pi 1.4.0, a summary request
asked for the model's whole output limit, 128K tokens on 1M Claude models, so a long session's summary could ask for more
than the context window and compaction failed. Summaries are capped again as before 0.9.5: 80% of
compaction.reserveTokens(13107 tokens by default), at least 4096. If reasoning uses the whole cap, the summary is
requested again without reasoning (#109). - Claude edits with non-ASCII text: Anthropic's strict tool mode breaks
\uXXXXescapes, so aneditorwritewith
—,≥or Korean text failed to match or wrote control characters. The built-in tools are now sent to Claude without
strict mode; tools that require it keep it (upstream #10074). - Claude failing on every request after a model switch with "role 'system' must precede an 'assistant' message"
(upstream #11091). - Requests near the context window: the output limit kept a fixed 4096-token margin over Pi's token estimate, so large
inputs could ask for more than the window. The margin now grows with the estimated part of the input, and the limit no
longer drops to 1 token (upstream #10497,
#11236). - Retries wait as long as the server asks (
Retry-After), within the retry delay limit (upstream
#10601). - openai-codex goes back to WebSocket after a failure: one minute on SSE, doubling with each further failure up to 30
minutes, instead of SSE until Pi exits (upstream #10721). grepwith a path glob such assrc/**/*.tsfinds files again (upstream
#10998).- Wrapped lines no longer start with a space after bold or other styled text (upstream
#10925). - Fuzzy search ranks the closest match first: "opus" in
/modellists Opus before Sonnet;/resumematches session names
and folders fuzzily, IDs and messages exactly, and answers faster on long session lists (upstream
#10552, #11220). - Double-click in fullscreen selects whole paths,
~included (upstream
#11340). - The installer installs nothing you said no to: the Enter typed after the first question answered the next one
(#103). pi-bolt compile(#108):- compiles the packages Pi-Bolt runs, with
piBolt.packagesapplied, local packages included; - keeps the extensions left out with
--excludeout of later compiles (--no-excludecompiles them in again); - prints one line per extension, compiled or passed over and why;
- says why a build stopped, and keeps its log at
~/.pi-bolt/compile.log; - compiles packages whose
pi.extensionsentry is a folder, once each
(#110, #116, tests by
@ldelossa from #107).
- compiles the packages Pi-Bolt runs, with
With the default settings Pi draws the same screen as 1.0.0, apart from the line-wrapping fix above, with the same CPU and
memory (measured on macOS against 1.0.0 run twice: every difference within 1.0.0's own spread).
Pi is 1.4.0, as in 1.0.0. The runtimes are 1.0.0's.
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. New in 1.0.1:
- 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
pi-bolt update on a copy installed by one of them names that package manager's update command instead of replacing it.
The installer checks the release signature with OpenSSL 3, an installed Pi-Bolt, or now also ssh-keygen (OpenSSH 8.1 or
later), against the new SHA256SUMS.sshsig. Where none of them can check it, the install stops unless PIBOLT_UNVERIFIED=1
is set.
| 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-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-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-arm64.tar.gz, pi-bolt-kit-darwin-arm64.tar.gz
| What pi-bolt compile builds with, besides the runtime.
|
Linux x86-64 or ARM64 with glibc 2.17 or later; 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.