Pi 1.4.0
New version of pi. Download from npm or view release on GitHub.
New Features
- Image input for classifiers: codemode
models.classify()acceptsimagesfor TypeSafe's Jev and Cloudflare's Clef models ontypesafe,cloudflare-workers-ai, and OpenRouter. See Use classifier models and Codemode. - Models Configuration reference: every provider, model, model override, and compatibility field of
models.json, generated from its schema. See Models Configuration. - Summaries without a fixed output cap: compaction and branch summaries use the model's output limit, so long reasoning no longer makes them fail. See Compaction.
- Codemode waits for a free worker: parallel scripts and in-process subagents queue instead of failing, and
PI_CODEMODE_MAX_WORKERSraises the limit. See Codemode limits. - Rex terminal support: OSC 8 hyperlinks, truecolor, and inline images.
Added
- Added a Models Configuration reference generated from the
models.jsonschema, listing all provider, model, model override, and compatibility fields (#10790) - Codemode
models.classify()now acceptsimagesfor TypeSafe's Jev and Cloudflare's Clef models ontypesafe,cloudflare-workers-ai, and OpenRouter, and lists Clef Omni and Jev 1.14 on Workers AI. - Provider-level
compatinmodels.jsonnow also applies to classifier models, with the System One fieldsimageInputandsendImageOptInHeaderfor proxies that serve another service's classifiers. Extension classifier models acceptcompattoo. - Added
MiniMax-M3.1-Flashto theminimaxandminimax-cnproviders, with thinking levels low through max (#11121) - Added support for the Rex terminal: OSC 8 hyperlinks, truecolor, and inline images (#11131, #11150 by @petrroll, #11183 by @nihaals)
Changed
- Provider attribution headers now come from pi-ai's client identity. Extensions'
before_provider_headershandlers no longer see the OpenRouter, NVIDIA NIM, and OpenCode attribution headers; returningnullfor one still removes it. Cloudflare requests send pi's detailedUser-Agentinstead ofpi-coding-agent, as do GitHub release checks for tool downloads, and OpenCode requests sendx-opencode-clientwhenever attribution is enabled, not only with a session. generateSummary()andgenerateSummaryWithUsage()now ignore theirreserveTokensparameter. Summary requests use the model's output limit instead.- Changed the default GitHub Copilot model from
gpt-5.4, which Copilot retired, togpt-6.1-sol. - Changed the default NVIDIA model to
nvidia/nemotron-3.5-super-vl-120b-a12b(#10910 by @cv) - Changed the default Xiaomi model to
mimo-v2.6-profor thexiaomiand Xiaomi Token Plan providers, sincemimo-v2.5-proleft the catalog. - Grok 4.3 and Grok 4.5 on the
xaiprovider now offer thexhighthinking level. - Sign in with ChatGPT: ChatGPT Business workspace usage-limit errors are not retried and tell the user to ask their workspace admin to increase the limit.