Changelog
Release notes and changes from the Pi changelog.
Pi 0.12.0
New version of pi. Download from npm or view release on GitHub.
Added
-p, --printFlag: Run in non-interactive batch mode. Processes input message or piped stdin without TUI, prints agent response directly to stdout. Ideal for scripting, piping, and CI/CD integration. Exits after first response.-P, --print-streamingFlag: Like-p, but streams response tokens as they arrive. Use--print-streaming --no-markdownfor raw unformatted output.--print-turnFlag: Continue processing tool calls and agent turns until the agent naturally finishes or requires user input. Combine with-pfor complete multi-turn conversations.--no-markdownFlag: Output raw text without Markdown formatting. Useful when piping output to tools that expect plain text.- Streaming Print Mode: Added internal
printStreamingoption for streaming output in non-TUI mode. - RPC Mode
printCommand: Send{"type":"print","content":"text"}to get formatted print output viaprint_outputevents. - Auto-Save in Print Mode: Print mode conversations are automatically saved to the session directory, allowing later resumption with
--continue. - Thinking level options: Added
--thinking-off,--thinking-minimal,--thinking-low,--thinking-medium,--thinking-highflags for directly specifying thinking level without the selector UI.
Changed
- Simplified RPC Protocol: Replaced the
promptwrapper command with direct message objects. Send{"role":"user","content":"text"}instead of{"type":"prompt","message":"text"}. Better aligns with message format throughout the codebase. - RPC Message Handling: Agent now processes raw message objects directly, with
timestampauto-populated if missing.
Pi 0.11.7
New version of pi. Download from npm or view release on GitHub.
Fixed
- Fix read path traversal vulnerability. Paths are now validated to prevent reading outside the working directory or its parents. The
readtool can read fromcwd, its ancestors (for config files), and all descendants. Symlinks are resolved before validation.
Pi 0.11.5
New version of pi. Download from npm or view release on GitHub.
Fixed
- Fixed fatal error "Cannot set properties of undefined (setting '0')" when editing empty files in the
edittool. - Simplified
edittool output: Shows only "Edited file.txt" for successful edits instead of verbose search/replace details. - Fixed fatal error in footer rendering when token counts contain NaN values due to missing usage data.
Pi 0.11.4
Pi 0.11.2
New version of pi. Download from npm or view release on GitHub.
Fixed
- Fixed TUI crash when pasting content containing tab characters. Tabs are now converted to 4 spaces before insertion.
- Fixed terminal corruption after exit when shell integration sequences (OSC 133) appeared in bash output. These sequences are now stripped along with other ANSI codes.
Pi 0.11.0
New version of pi. Download from npm or view release on GitHub.
Added
- File-based Slash Commands: Create custom reusable prompts as
.txtfiles in~/.pi/slash-commands/. Files become/filenamecommands with first-line descriptions. Supports{{selection}}placeholder for referencing selected/attached content. /branchCommand: Create conversation branches from any previous user message. Opens a selector to pick a message, then creates a new session file starting from that point. Original message text is placed in the editor for modification.- Unified Content References: Both
@pathin messages and--file pathCLI arguments now use the same attachment system with consistent MIME type detection. - Drag & Drop Files: Drop files onto the terminal to attach them to your message. Supports multiple files and both text and image content.
Changed
- Model Selector with Search: The
/modelcommand now opens a searchable list. Type to filter models by name, use arrows to navigate, Enter to select. - Improved File Autocomplete: File path completion after
@now supports fuzzy matching and shows file/directory indicators. - Session Selector with Search: The
--resumeand--sessionflags now open a searchable session list with fuzzy filtering. - Attachment Display: Files added via
@pathare now shown as "Attached: filename" in the user message, separate from the prompt text. - Tab Completion: Tab key now triggers file path autocompletion anywhere in the editor, not just after
@symbol.
Pi 0.10.3
New version of pi. Download from npm or view release on GitHub.
Added
- Added RPC mode (
--rpc) for programmatic integration. Accepts JSON commands on stdin, emits JSON events on stdout. See RPC mode documentation for protocol details.
Changed
- Refactored internal architecture to support multiple frontends (TUI, RPC) with shared agent logic.
Pi 0.10.2
New version of pi. Download from npm or view release on GitHub.
Added
- Added thinking level persistence. Default level stored in
~/.pi/settings.json, restored on startup. Per-session overrides saved in session files. - Added model cycling shortcut:
Ctrl+Icycles through available models (or scoped models with-mflag). - Added automatic retry with exponential backoff for transient API errors (network issues, 500s, overload).
- Cumulative token usage now shown in footer (total tokens used across all messages in session).
- Added
--system-promptflag to override default system prompt with custom text or file contents. - Footer now shows estimated total cost in USD based on model pricing.
Changed
- Replaced
--modelsflag with-m/--modelsupporting multiple values. Specify models asprovider/model@thinking(e.g.,anthropic/claude-sonnet-4-20250514@high). Multiple-mflags scope available models for the session. - Thinking level border now persists visually after selector closes.
- Improved tool result display with collapsible output (default collapsed, expand with
Ctrl+O).
Pi 0.10.0
New version of pi. Download from npm or view release on GitHub.
Changes
Initial public release.
Added
- Interactive TUI with streaming responses
- Conversation session management with
--continue,--resume, and--sessionflags - Multi-line input support (Shift+Enter or Option+Enter for new lines)
- Tool execution:
read,write,edit,bash,glob,grep,think - Thinking mode support for Claude with visual indicator and
/thinkingselector - File path autocompletion with
@prefix - Slash command autocompletion
/exportcommand for HTML session export/modelcommand for runtime model switching/sessioncommand for session statistics- Model provider support: Anthropic (Claude), OpenAI, Google (Gemini)
- Git branch display in footer
- Message queueing during streaming responses
- OAuth integration for Gmail and Google Calendar access
- HTML export with syntax highlighting and collapsible sections