github opensec-git/Pi-Bolt bolt-v1.1.5
Pi-Bolt 1.1.5

3 hours ago

Pi-Bolt 1.1.5 is 1.1.4 with remote-control features for the phone apps, faster starts with extensions,
lower memory for large command output and batch runs, and a cheaper resize of long sessions. Pi is still 1.5.0. The
runtimes are rebuilt for one engine change (#281).

Added

  • Review the computer's changes from a phone (#270):
    • What it serves: remote control (/remote-control and pi-bolt service) gives read-only access to the session's
      folder: git status with line counts, diffs, history and commits, folder listings and file contents.
    • Paths: they stay inside the folder after symlinks are resolved.
    • Git: filters, external diff tools and textconv are off, and submodules show as commit ids.
    • Secrets: files that look like secrets (.env*, keys, .git/, .ssh/ and others) are refused unless
      remoteControl.readSecretFiles is set, and commits that touch them are withheld.
  • Live subagent streams (#272): while a phone shows a subagent,
    remote control and RPC mode stream its own conversation: its saved messages, then its thinking, text and tool calls as
    they happen. It is read-only and capped per message and per phone.

Changed

  • Faster starts with extensions (#276): compiled binaries load
    jiti's Babel only when an extension file is not in jiti's cache yet.
    • pi -p with one npm extension takes about 6% fewer instructions.
    • The TUI's first frame with extensions installed takes about 18% fewer.
    • Memory is 4-5 MB lower.
    • Default and -jit builds gain the same.
  • Less memory for large command output (#278): the bash tool
    keeps a command's output tail without re-encoding each chunk twice. Peak memory for 8 MB of output drops from 63 to
    36 MB.
  • Cheaper wrapping (#279): text wrapping measures and splits a
    plain line in one pass. Resizing a 2,292-entry session takes 33% fewer instructions (235 to 190 ms). The output is
    identical.
  • Lower memory in batch runs (#281): pi -p, RPC mode and
    pi-bolt service start with a 16 MB garbage-collection allowance instead of 48 MB. The memory floor of a 200-prompt RPC
    session drops from about 45-49 to 28-30 MB.

Fixed

  • Parallel sessions on the service (#271): the background
    service no longer aborts a running turn when a phone opens or starts another session. It keeps up to 3 sessions open,
    each with its own runtime.
  • Reconnects (#269): remote control replaces a reconnected
    phone's old socket.
  • Pairing retries (#282): the pairing code is used up only when
    the phone finishes connecting, so a phone that gives up mid-handshake can retry with the same QR code. It stays
    single-use.
  • RPC output stays clean (#284): in RPC, JSON, ACP and MCP
    modes, console.log and related methods from an extension or dependency no longer write into the protocol stream on
    stdout. They go to stderr, as on Node. The same applies to -p mode: an extension's console.log there now goes to
    stderr too. The Android app's engine and pi-bolt service run in RPC mode.
  • ACP mode gives extensions a theme (#255 by
    @ArihantDeva): the theme is initialised before ACP hands extensions a UI context
    (#249).

Also since 1.1.4, outside the release archives:

  • Android app 0.6.0:
    • in-app updates work again;
    • spending limits;
    • hands-free voice mode;
    • background shell jobs;
    • parallel sessions;
    • review of the computer's changes;
    • Pi checks its own preview;
    • many fixes.
  • The first iOS app (remote control, unsigned builds for sideloading), in development under ios/.

Measured against 1.1.4

On an Apple M5, from the release archives (darwin-arm64), 25 runs, with 1.1.4 against itself as the noise baseline.

Row Default -jit
pi -p, instructions +0.2% (noise +0.2%) 0.0%
Startup, instructions -0.2% +0.2%
First frame, instructions +0.4% (noise -1.0%) -0.3%
First frame with extensions (subagents + todo) -17.8% -17.8%
pi -p with extensions -5.9% to -7.5% -5.4% to -7.1%
Memory at first frame, with extensions 4.5-5.9 MB lower about the same
Peak memory, 64 MB of command output 93.6 → 46.2 MB 96 → 49 MB
RPC session, 200 prompts, memory floor 48 → 27 MB 46 → 27 MB
Long answers, transcripts and sessions, idle at par at par

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-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.
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; 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.