pi v1.4.0 adds classifier image input, sizes summaries to the model's output limit, and ships a generated Models Configuration reference
pi v1.4.0 shipped on October 21, 2026, with five New Features entries: image input for classifier models, a Models Configuration reference generated from the models.json schema, compaction and branch summaries without a fixed output cap, codemode scripts that wait for a free worker, and Rex terminal support.
In codemode, models.classify() accepts images for TypeSafe’s Jev and Cloudflare’s Clef models on typesafe, cloudflare-workers-ai, and OpenRouter. Provider-level compat in models.json now also applies to classifier models, with the System One fields imageInput and sendImageOptInHeader for proxies that serve another service’s classifiers. MiniMax-M3.1-Flash joins minimax and minimax-cn with thinking levels from low through max (#11121).
The summary change removes the fixed output reserve that made compaction fail with “generation hit the token cap” once reasoning filled it: summaries now use the model’s output limit, compaction.reserveTokens only decides when compaction starts (#9512, #9075). Codemode scripts that find both workers busy — parallel calls and in-process subagents included — queue for up to 60 seconds, and PI_CODEMODE_MAX_WORKERS raises the default limit of two (#11184).
The Rex terminal gains OSC 8 hyperlinks, truecolor, and inline images (#11131, #11150 by petrroll, #11183 by nihaals). Defaults chase the catalogs: GitHub Copilot’s default model is gpt-6.1-sol because Copilot retired gpt-5.4; NVIDIA’s default moves to nvidia/nemotron-3.5-super-vl-120b-a12b (#10910 by cv); the xiaomi and Xiaomi Token Plan providers default to mimo-v2.6-pro after mimo-v2.5-pro left the catalog; and Grok 4.3 and Grok 4.5 on xai offer the xhigh thinking level.
Provider attribution headers now come from pi-ai’s client identity, so extensions’ before_provider_headers handlers no longer see the OpenRouter, NVIDIA NIM, and OpenCode attribution headers — returning null for one still removes it. An abnormal exit no longer leaves the terminal in mouse-tracking, focus-reporting, Kitty keyboard, or alternate-screen modes (#11170); concurrent extension dialogs settle instead of replacing each other (#11166, #9909); /compact <instructions> honors its instructions when compaction splits a turn (#11058); resumed sessions and /tree keep extension tools active (#11062, #11075); and the Responses prompt cache survives deferred tool loads after a tool removal (#10940).
Windows corners get BOM tolerance: pi update accepts the UTF-8 BOM PowerShell 5.1 writes into managed-install.json, and mcp.json files starting with one parse again (#11191). Markdown bold and italic render next to CJK punctuation, and HTML export stops showing literal asterisks there (#10730, #3353, #10154). The generated Models Configuration reference lands in packages/coding-agent/docs/models-configuration.md, linked from the release page.
source: https://github.com/earendil-works/pi/releases/tag/v1.4.0