Repository navigation
Pi-Bolt 0.8.6
Pi-Bolt 0.8.6 runs Pi 1.2.0. Everything else is 0.8.5.
Pi 1.2.0
Everything in Pi 1.2.0, among it:
- OpenRouter model lists per key: with an OpenRouter key,
/modellists only the models that key may use, with its context
size, output limit and prices, including regional endpoints set inmodels.json. - Configuration schemas: add
$schematosettings.json,models.json, keybindings and themes for validation and
completion in your editor. - Copying over remote sessions:
PI_CLIPBOARD_OSC52=1sends copied text to a remote client's clipboard when Pi-Bolt cannot
tell it runs remotely, for example in a multiplexer attached from another machine. - Codemode: tool declarations show input constraints (integer, minimum, maximum, default), and codemode rows show how long a
script has run. pi-bolt -pexits 1, with a warning, when the answer was cut off at the model's output limit.- Anthropic requests that the provider refuses for the size of the strict tool set are retried once; "The upstream provider
returned an error" is retried like other temporary provider errors. - MCP: tool calls accept structured content that is not an object, servers with resources register their tools at once, and a
call cancelled while waiting for a sign-in refresh is not sent. - Key bindings that name a shifted symbol, such as
ctrl++, match under the Kitty keyboard protocol. - On Windows, reading or writing
auth.jsonretries briefly instead of failing while a previous lock is still being removed.
For extension authors
Pi 1.2.0 changes two things extensions can see:
before_agent_startalso fires for runs thatpi.sendMessage(..., { triggerTurn: true })starts. Its event has a
messageType:"user"events carrypromptandimages,"custom"events the startingmessage. A handler meant only
for prompts should checkevent.messageType === "user".- The session counts as busy while a run starts:
pi.sendUserMessage()then needsdeliverAs.
OpenSec's extensions (opensec-pi-subagents, opensec-pi-todo, opensec-pi-fff) work with both unchanged.
Themes: the theme schema is now https://pi.dev/schemas/theme.schema.json. A theme that fails it is reported when it loads.
Startup
Pi 1.2.0 builds the models.json and theme schemas, and compiles a checker for each, when it starts. Pi-Bolt keeps both out of
its start: models.json is checked against the same schema as plain JSON Schema, generated from 1.2.0's definitions, and the
theme schema is built the first time a theme of your own is loaded.
Engine
Unchanged since 0.8.5: this release's runtimes are 0.8.5'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.
| Asset | For |
|---|---|
pi-bolt-linux-x64.tar.xz / .tar.gz |
Recommended on Linux. 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-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-darwin-arm64.tar.gz, pi-bolt-runtime-win32-x64.zip |
The Pi-Bolt Bun runtime, for compiling plugins in. |
Linux x86-64 with glibc 2.17 or later; macOS 13 or later on Apple silicon; Windows 10 1809 or later, or Windows 11, on x64.