Pi
Changelog
Extensible terminal coding agent
This page shows at most the 120 most recent releases from official sources. It does not claim to be a complete version history.
Latest Version:v0.87.1
Shown Releases:121
Source:GitHub Releases
Latest Releases (121)
v0.87.1New
v0.87.1
September 22, 2026
- •Latest frontier models — Use Claude Opus 5.5, GPT-6 Sol, and GPT-6 Luna through supported providers, including GitHub Copilot. See Choose a Model.
- •Grok 4.7 by default for xAI — New xAI sessions now default to Grok 4.7. See Provider Authentication.
- •Added inherited Claude Opus 5.5, GPT-6 Sol, and GPT-6 Luna support for GitHub Copilot.
- •Added inherited GPT-6 Sol and GPT-6 Luna support for OpenAI API keys and OpenAI Codex subscriptions.
- •Added inherited Claude Opus 5.5 support for Anthropic with adaptive thinking and a 1M context window.
- •Changed the default xAI model to Grok 4.7.
- •Fixed split-turn compaction summaries being refused by Claude Fable 5.1 by clearly separating the conversation and using continuation-oriented instructions (#9908 by @davidbrai).
- •Fixed missing or invalid
--modevalues being silently ignored instead of reporting an error and exiting with a nonzero status (#9045). - •Fixed inherited image-only user messages being rejected by some OpenAI-compatible providers because they included an empty text part (#9797).
- •Fixed inherited Anthropic OAuth requests reporting an outdated Claude Code version.
v0.87.0NewBreaking Change
v0.87.0
September 21, 2026
- •Canonical session context and extension boundaries — Edit model context without rewriting history and add actionable lifecycle hooks. See ContextEditEntry and extension events.
- •Full-transcript context extensions — Use
context_with_systemfor per-request system-message transformations. See `context_with_system`. - •Per-model image input limits — Configure cache-safe image resizing per model for attachments,
read, and tool-result images. See Image Input Limits. - •Removed the inherited
shouldStopAfterTurnagent option. UsefinishTurnand return{ action: "end" }instead.finishTurnruns beforeturn_endbut applies the decision afterward, and it also receives error and aborted responses; migrate normal-response predicates by returningundefinedfor those hard exits. See the@earendil-works/pi-agent-corechangelog for a complete before-and-after example. - •Added
ContextEditEntryto the exportedSessionEntryunion. TypeScript consumers with exhaustive entry switches must handlecontext_edit; usereplacement: nullfor omission and a content replacement otherwise. - •Made
SessionManagercanonical forAgentSessionprovider context. Assigningsession.agent.state.messagesno longer replaces future request history; restore withSessionManager.inMemory(cwd, { id }, entries), navigate withsession.navigateTree(), or append throughsession.sessionManagerand callsession.refreshContext(). - •Expanded
TurnEndEventwith required boundary fields and addedAgentBeforeSettleEventto the exportedExtensionEventunion. Consumers constructing events or exhaustively switching onExtensionEventmust handle the new shapes.ExtensionRunner.emit()no longer acceptsturn_end; host integrations dispatch actionable boundaries withemitBoundary(baseEvent, buildContext). - •Deferred runs requested from
agent_settledhandlers until all settled handlers finish. Handlers still observectx.isIdle() === true, but no longer see a reentrantagent_startduring the same notification dispatch. - •Added append-only model-context edits. For example,
sessionManager.appendContextEdit(entryId, null)omits one message from future provider context without changing raw history, usage, or UI history. - •Added actionable
turn_endandagent_before_settleextension boundaries. Return{ entries: [...event.entries, draft], continue: true }to persist structural entries in order and ensure one next provider request without changing steering or follow-up scheduling. - •Added retain-none compaction input:
sessionManager.appendCompaction(summary, null, tokensBefore)stores the compaction's own ID as its kept boundary. - •Added the
context_with_systemextension event, which runs aftercontexthandlers on the full transcript including system messages and sends its result verbatim. See `context_with_system`. - •Added per-model image resize profiles through
inputLimits.images.resizeinmodels.json, applied to file attachments, image reads, and tool-result images (#9631). - •Fixed string context-edit replacements producing invalid assistant and tool-result message content instead of text blocks.
- •Fixed context-invisible boundary metadata and replacement edits causing newly appended or replaced input to be summarized before its first provider request.
v0.86.1New
v0.86.1
September 20, 2026
- •Meta Muse provider — Sign in with Meta using
/login metaor useMETA_API_KEYto access Muse Spark models. See Meta (Muse subscription). - •Added Meta (Muse subscription) login via
/login metawith automatic Model API key refresh, plusMETA_API_KEYsupport (#9096 by @xl0). - •Enabled Node's persistent compile cache before loading the bundled CLI runtime, reducing repeat launch time.
- •Fixed
/bugdescriptions dropping line breaks from pasted diagnostics. - •Fixed
/bughints appearing for user cancellations and retryable provider failures such as service unavailability. - •Fixed clipboard copy failing in containers and WSL without WSLg by restoring the OSC 52 fallback when no display is available, and added a verified Windows clipboard backend for WSL (#9688).
- •Fixed inherited z.ai
Prompt too longerrors not being recognized as context overflow (#9805). - •Fixed inherited Cerebras models advertising unsupported strict tool schemas, which caused HTTP 400 errors when strict and non-strict tools were mixed (#9804 by @EdenGottlieb).
v0.86.0NewBreaking Change
v0.86.0
September 20, 2026
- •Prompt cache warming — Keep valuable prompt caches alive during long tool runs and optionally while idle using cost-aware refreshes. See Cache Warming.
- •Bug reporting — Report problems with
/bugusing redacted diagnostics, optional transcripts, or exported ZIP archives. See Reporting Bugs. - •Transcript-aware prompt and tool updates — Preserve instruction and tool changes across resume and branch navigation while retaining cached prefixes. See `before_agent_start`.
- •Offline Radius model catalog — Select Radius models immediately, with cached and live catalogs overlaid when available. See Radius.
- •Per-model compaction budgets — Configure reserved and recent-token budgets by model. See Per-model overrides.
- •Changed inherited pi-ai provider stream inputs from
Contextto normalizedTranscriptContextvalues. Custom providers must read system prompts and tool declarations fromcontext.messageswithgetCurrentSystemPrompt()andgetCurrentTools(). See Custom Streaming API. - •Restricted inherited
ToolCall.argumentsandToolResultMessage.detailsto JSON-compatible values, changedToolResultMessageinto a conditional type, and madeJsonValuearrays readonly. - •
user_bashnow fails closed: errors or invalid defined results abort the command without invoking later handlers or executing locally. Returnundefinedto continue propagation; otherwise return{ operations }or{ result }(#9068). - •Added transcript-backed mid-conversation system prompt and tool changes so instruction and tool updates survive resume and branch navigation while preserving cached prefixes on supported models. See `before_agent_start` and Entry Types (#9548).
- •Added inherited native deferred tool loading for Fireworks Messages models. Use
ToolSearchortool_searchas the loader name for prompt-prefix deferral (#9323). - •Added click toggling for branch summaries, compaction summaries, and skill invocation entries.
- •Added the public Radius model catalog for immediate and offline model selection, with cached and live gateway catalogs overlaid when available.
- •Added
ctx.modelRegistry.stream()andstreamSimple()for extension model calls through configured providers with resolved authentication (#8964). - •Added per-model
reserveTokensandkeepRecentTokenssettings throughcompaction.modelOverrides, with ordinary compaction settings as fallback (#8133). - •Added
compat.allowedFallbackModelsconfiguration for overriding or disabling Anthropic server-side fallback models (#9294).
v0.85.1
v0.85.1
September 5, 2026
- •GPT-6 Astra — Available through OpenAI API keys and OpenAI Codex subscriptions. See API Keys and OpenAI Codex.
- •Added GPT-6 Astra for OpenAI API keys and OpenAI Codex subscriptions.
- •Added five-times-faster mouse wheel scrolling while holding Alt in fullscreen mode (#9166 by @xl0).
- •Fixed configurable save keybindings in the model and thinking selectors (#9149 by @rwachtler).
- •Fixed SDK import failures caused by unintentionally publishing internal experimental code and dependencies in 0.85.0. The experimental
clientandexperimental/pluginsubpaths and server/client commands are now source-only throughpi-test.sh; the supported local SDK and stdio RPC API are unchanged (#9132). - •Fixed mouse hover changing selection and recentering autocomplete and settings lists, causing clicks to target a different item.
- •Fixed long prompt-cache requests for GPT-5.6+ Responses models to use
prompt_cache_options.ttl: "30m"instead ofprompt_cache_retention: "24h".
v0.85.0
v0.85.0
September 4, 2026
- •Persistent Claude thinking effort — Supported Anthropic transports preserve per-turn effort and recover safely from signed-thinking mismatches. See Model Configuration.
- •Fullscreen transcript controls — Jump to the latest message from a scrolled transcript and use the embedded working indicator. See TUI Fullscreen Viewport.
- •Restorable in-memory sessions — Resume externally stored session entries through the SDK. See Session Management.
- •Added
SessionManager.inMemory()support for restoring externally managed session entries (#8980 by @y-nk). - •Added inherited OpenAI-compatible
vllmPriorityandsupportsMaxOutputTokensmodel settings for vLLM scheduler priority and OpenAI Responses output-token limits (#9004 by @AppleDannyClegg, #8941 by @scturtle). - •Added inherited LaTeX rendering for relational algebra join symbols (#9050 by @haoqixu).
- •Added a clickable "Jump to latest message" label with the
tui.altScreen.bottomshortcut to the fullscreen transcript while it is scrolled up (#9080 by @rwachtler). - •Moved the streaming working indicator into the default editor border and matched its default spinner and label to the thinking-level border color. Custom editors retain the standalone indicator unless they opt in to embedding it (#8799 by @cristinaponcela).
- •Reduced inherited fullscreen transcript search latency on large transcripts by caching unchanged search results, indexing ASCII runs, and limiting highlight work to visible matches (#8800 by @cristinaponcela).
- •Fixed managed
fdand ripgrep downloads on Linux musl systems (#9070 by @Charlie0113-T). - •Removed the unavailable inherited Grok Build 0.1 model from
/model(#9093 by @Jaaneek). - •Fixed inherited provider streams emitting incompatible event sequences and custom tool-call deltas.
- •Restored the
@earendil-works/pi-coding-agent/clientcompatibility entry point. - •Fixed the inherited Qwen Token Plan Individual catalog to include Qwen3.8 Flash (#9021).
- •Fixed inherited OpenAI Codex SSE parsing to process terminal events that are not followed by a blank line (#9047).
v0.84.4
v0.84.4
August 29, 2026
- •Terminal capability overrides — Override detected terminal hyperlink, image, and truecolor support. See Capability Overrides.
- •Extension UI prompt events — Integrations can distinguish active agent work from time spent waiting for
ctx.uiprompts. See Extension UI prompt events. - •RPC queue clearing — Retrieve and clear queued steering and follow-up messages with
clear_queue. See RPC `clear_queue`. - •Fullscreen selection copy controls — Disable automatic selection copying in fullscreen mode and use Ctrl+X to copy the active selection. See UI & Display.
- •DeepSeek V4 Flash Vision (experimental) — Use the vision-capable model through the built-in DeepSeek provider. See API Keys.
- •Added
ui_prompt_startandui_prompt_endextension events so host integrations can distinguish active agent work from waiting on user-facingctx.uiprompts (#8355 by @cristinaponcela). - •Added
detectSupportedImageMimeTypeFromFile()to the public library exports (#8600 by @xl0). - •Added inherited experimental vision-capable
deepseek-v4-flash-vision-expmodel support. - •Added transcript usage notices for compaction and branch summaries when cache miss notices are enabled.
- •Added RPC
clear_queueto retrieve and remove queued steering and follow-up messages (#8432). - •Added environment variables and advanced settings for overriding auto-detected terminal hyperlink, image, and truecolor capabilities (#8665).
- •Added
fullscreenCopyOnSelectto disable automatic fullscreen selection copy; when disabled,Ctrl+Xcopies the active text selection before falling back to the last assistant message, while/treestill copies the selected message (#7720). - •Fixed toggling thinking visibility clearing partial output from running Bash tools (#8611).
- •Fixed Windows shell aborts crashing Pi when
taskkill.exeis unavailable onPATH(#6596). - •Fixed resumed sessions corrupting the next appended entry when their JSONL file lacks a trailing newline (#8345).
v0.84.3Breaking Change
v0.84.3
August 24, 2026
- •PowerShell tool — Use optional native PowerShell command execution on Windows. See PowerShell Tool.
- •Safer managed updates — Stage, verify, and atomically activate updates for installer-managed installations. See Install and Manage.
- •Model and thinking controls — Select thinking levels with
/thinking, search defaults, keep selections session-scoped, and persist them explicitly with Ctrl+S. See Models and Thinking. - •Renamed the inherited
GoogleThinkingLeveltype toGoogleApiThinkingLeveland addedResolvedGoogleThinkingLevelfor normalized adapter levels. - •Added an optional
powershelltool for Windows, configurable throughdefaultToolsand the SDK. See PowerShell Tool. - •Added a
/thinkingselector and searchable default choices to the model and thinking selectors; Ctrl+S saves the selected model as the global default. See Models and Thinking. - •Added optional routing session IDs to exported compaction summary helpers so callers can preserve provider routing without enabling prompt cache writes.
- •Added transcript usage notices for compaction and branch summaries when cache miss notices are enabled.
- •Added
session_compact_failedextension events so compaction failures and aborts expose their reason, retry state, source, and error message to handlers (#8175). - •Added inherited provider-neutral
toolChoicesupport to simple stream requests. - •Added inherited automatic Anthropic server-side refusal fallback for supported first-party models, including returned-model usage pricing (#8017).
- •Added inherited configurable OpenAI-compatible thinking-token budget fields for vLLM, Qwen/SGLang, and llama.cpp servers. See OpenAI Compatibility (#8275 by @bnsd55).
- •Added inherited China-specific ZAI Coding Plan models, including GLM-4.6V vision support and API-equivalent usage cost estimates (#8220).
- •Added inherited
deepseek-v4-pro-0813support to the Qwen Token Plan Individual catalog (#8194). - •Changed experimental installer-managed installations so
pi updatestages, verifies, and atomically activates the selected release in place. See Install and Manage.
v0.84.2
v0.84.2
August 14, 2026
- •Fullscreen transcript search — Search and navigate matches in fullscreen mode. See TUI Fullscreen Viewport.
- •Configurable default tools — Choose startup built-in tools globally or per project. See Tools.
- •Configurable fullscreen exit output — Print the transcript or only a resume hint on exit. See Interactive Mode.
- •Added fullscreen transcript search with
Ctrl+Shift+F, incremental match highlighting, configurable search match theme colors, and next/previous navigation withEnter/Ctrl+GandShift+Enter/Ctrl+Shift+G. - •Added experimental strict JSON-schema constrained sampling for the default
read,bash,edit, andwritetools underPI_EXPERIMENTAL=1. - •Added a fullscreen exit output setting to choose between printing the final transcript and only a session resume hint.
- •Added the
defaultToolssetting for configuring the initial built-in tool selection globally or per project. - •Added
--use-theme <name[/name]>to choose an initial per-run interactive theme without changing saved settings (#7722 by @rwachtler). - •Added
expandPromptTemplatesto extensionpi.sendUserMessage()options for explicitly dispatching commands and expanding skills and prompt templates. See `pi.sendUserMessage()` (#7857 by @mrexodia). - •Added inherited
createGatewayBindingFetch()for routing Cloudflare AI Gateway requests through a Workers AI binding without an API token (#7901 by @Maximo-Guk). - •Added inherited
AssistantMessage.endTurnto preserve OpenAI Codex's terminalend_turnsignal for diagnostics (#7766). - •Added inherited unbound single-line transcript scrolling actions for fullscreen mode. See TUI Fullscreen Viewport (#7903 by @midastruth).
- •Changed inherited Kimi Coding requests to use pi's runtime
User-Agentheader. - •Replaced the inherited Mistral SDK transport with a native Chat Completions HTTP stream, eliminating its generated client and schema runtime overhead.
- •Documented the generic
AI_AGENT=piprocess marker and how it differs fromPI_CODING_AGENT=true(#7747).
v0.84.1
v0.84.1
August 7, 2026
- •Qwen Token Plan Individual — Use the built-in provider for models documented for Individual subscriptions. See API Keys.
- •Authentication readiness checks — Use
pi auth checkto verify provider or model credentials, optionally emitting the resolved credential. - •Improved fullscreen interaction — Select words and paragraphs with multiple clicks and configure half-page transcript scrolling. See TUI Fullscreen Viewport.
- •Terminating blocked tool calls — Extension
tool_callhandlers can stop all-terminating batches without another model call. See Tool Events. - •Added Qwen Token Plan Individual as a built-in provider with its documented subscription model catalog and the shared international
QWEN_TOKEN_PLAN_API_KEY. See API Keys (#7659 by @arasovic). - •Added
pi auth checkprovider/model auth preflight with optional credential output (#7152). - •Added
terminatesupport to blocked extensiontool_callevents so all-terminating batches can skip the automatic follow-up model call. See Tool Events (#7715 by @muyiyr). - •Added inherited double-click word and whitespace selection, granularity-aware drag selection, and triple-click paragraph selection in fullscreen mode (#7725, #7733 by @volsa).
- •Added inherited unbound half-page transcript scrolling actions for fullscreen mode. See TUI Fullscreen Viewport (#7735).
- •Softened the bash tool's
PI_*environment guideline in an attempt to reduce unnecessary inspection commands (#7128). - •Reduced worst-case automatic terminal theme detection delay from 200 ms to 100 ms by probing color-scheme and background support concurrently.
- •Fixed Bun standalone binaries crashing on startup when the cwd contains a
bunfig.tomlwithpreloadby compiling with--no-compile-autoload-bunfig(#7685 by @geril07). - •Fixed extension TUI method wrappers recursing indefinitely when delegating to the original method (#7731).
- •Fixed right-click not pasting clipboard text in fullscreen mode on Windows.
- •Fixed inherited
Agent.reset()clearing transcript and runtime state during active runs; it now rejects until the agent is idle (#7717 by @wesleyzhangwq).
v0.84.0Breaking Change
v0.84.0
August 6, 2026
- •Fullscreen TUI mode — Switch between regular and fullscreen modes at runtime, with a sticky editor and footer, independently scrollable transcript, and draggable scrollbars. See UI & Display.
- •Mermaid and LaTeX rendering — Render Mermaid diagrams and terminal-friendly Unicode math in interactive transcripts. See Markdown settings and TUI Markdown.
- •Per-directory context overrides — Use
AGENTS.override.mdto replace context files for a specific directory. See Context Files. - •Advanced custom model sampling — Configure arbitrary OpenAI-compatible
samplingParamsand opt-in vLLMthinking_token_budgetvalues. See Sampling Parameters. - •Baseten provider — Use built-in Baseten authentication and model support. See API Keys.
- •Renamed the inherited pi-ai
ModelsStreamTransformsinterface toModelsRequestTransformsbecause its header transformation now applies to all authenticated provider requests. - •Changed JSON and RPC
message_updateevents to emit onlyassistantMessageEventdeltas, removing the cumulativemessageandassistantMessageEvent.partialfields that caused quadratic output growth. Clients that need partial messages must assemble deltas betweenmessage_startandmessage_end; the latter remains authoritative (#7290). - •
ModelRegistry.getApiKeyAndHeaders()now returnsProviderHeaderswithstring | nullvalues and preservesnullheader-deletion markers. Extensions that inspect returned headers must handlenull; extensions forwarding them to pi-ai streams should pass them through unchanged. This prevents placeholder OpenAI credentials from being sent through Cloudflare AI Gateway (#7030). - •Changed
ModelRegistry.refresh()to acceptModelsRefreshOptionsand returnModelsRefreshResultinstead of discarding cancellation and provider errors. - •Changed
ModelRuntime.setRuntimeApiKey()to accept auth cancellation options rather than catalog refresh options. Callrefresh({ providers: [providerId], signal })separately when remote freshness is required. - •Required config-form extension OAuth
refreshToken(credentials, signal)callbacks to accept and honor a concrete abort signal. - •Replaced dynamic provider refresh context store access with the read-only
context.storedsnapshot and generation-checkedcontext.publish()transaction. - •Replaced the inherited pi-agent-core harness session model with the v4 lane-based
Session,SessionStorage, andSessionRepoAPIs, including durable operation records, global facts, shared sequence numbers, and tree-scoped lane views. - •Promoted the inherited v2 session and
AgentHarnessAPI from pi-agent-core's experimental entrypoint to its default export and removed the experimental subpaths. - •Removed the inherited legacy JSONL and in-memory repository APIs. Use pi-agent-core's v4
JsonlSessionRepoorInMemorySessionRepo, both implementing the newSessionRepocontract.
v0.83.0Breaking Change
v0.83.0
July 30, 2026
- •Credential export for external clients —
pi auth print-api-keyandpi auth print-bearer-tokenexport configured credentials with automatic OAuth refresh and minimum-validity enforcement. - •Headless OpenRouter sign-in — Complete
/loginover SSH by pasting the redirect URL or authorization code when the loopback callback is unavailable. See OpenRouter. - •Claude Opus 5 on GitHub Copilot — Use Claude Opus 5 through GitHub Copilot with adaptive thinking and a 1M context window. See GitHub Copilot.
- •Upgraded bundled TypeBox aliases to 1.3.7, removing deprecated APIs including
Type.Base,Type.Awaited,Type.Promise,Type.AsyncIterator,Type.Iterator,Type.Options, andValue.Mutate, while fixing compiled validation of nullable array tool arguments. Extensions using removed APIs must migrate to supported TypeBox APIs. See Package Dependencies (#7243 by @petrroll). - •Added
pi auth print-api-keyandpi auth print-bearer-tokencommands for exporting configured credentials to external clients, including automatic OAuth refresh and configurable minimum token validity (#7168). - •Exposed the session's resolved model scope as
ctx.scopedModelsto extensions. See Extension Context (#7191 by @pungggi, #7215). - •Added inherited per-request
fetchinjection for supported text and image provider transports. - •Added the inherited
"pending"stop reason for partial streaming messages. See Custom Provider Stream Pattern (#7151 by @lucasmeijer). - •Added inherited raw provider stop reasons across Google, Anthropic, Amazon Bedrock, Mistral, and OpenAI streams; unmapped terminal reasons now surface as provider errors instead of successful stops (#7272).
- •Added manual redirect URL and authorization-code entry to OpenRouter login for remote and headless environments. See OpenRouter (#7114 by @rgarcia).
- •Added inherited Claude Opus 5 support for GitHub Copilot with adaptive thinking and a 1M context window. See GitHub Copilot (#7158 by @jay-aye-see-kay).
- •Changed inherited OAuth credential resolution to refresh tokens with less than five minutes of validity remaining instead of waiting until expiration (#7168).
- •Added a status line when the tool output expansion is toggled (#7180).
- •Fixed file-backed
SYSTEM.mdandAPPEND_SYSTEM.mdprompts being omitted from the interactive startup context listing. See System Prompt Files (#7096). - •Fixed context files loading twice when a linked Git worktree is nested under its main repository. See Context Files (#7221 by @arajkumar).
v0.82.1
v0.82.1
July 25, 2026
- •Claude Opus 5 — Available on Anthropic and Amazon Bedrock with adaptive thinking (including
xhigh), inference profiles, and prompt caching. See Providers. - •Anthropic gateway bearer auth —
ANTHROPIC_AUTH_TOKENauthenticates against Anthropic-compatible gateways that requireAuthorization: Bearer, including compaction and branch summaries. See Environment Variables or Auth File. - •Faster, more resilient model catalogs — pi.dev catalogs revalidate with
If-None-Matchso unchanged providers answer with an empty304, and llama.cpp models stay listed across restarts. See llama.cpp. - •Exposed the
outputPadsetting to custom message renderers. See Extensions (#7045 by @xl0). - •Added inherited
ANTHROPIC_AUTH_TOKENbearer authentication for Anthropic-compatible gateways. See Providers (#5871). - •Added inherited Claude Opus 5 support for Anthropic and Amazon Bedrock with adaptive thinking, inference profiles, prompt caching, and preserved AWS validation messages (#7081 by @unexge, #7083 by @davidbrai).
- •Changed pi.dev model catalog refreshes to revalidate with
If-None-Match, so unchanged provider catalogs answer with an empty304instead of a full download. - •Changed inherited Radius OAuth device authorization, token exchange, and refresh requests to use the configured gateway directly.
- •Changed inherited model loading errors to append the underlying cause, so auth failures such as
OAuth refresh failed for openai-codexreport the provider response instead of a bare wrapper message. - •Fixed compaction and branch summaries for providers whose authentication resolves entirely to request headers (#5871)
- •Fixed unavailable scoped models being hidden from
/models, allowing them to be removed without editing settings manually (#6949, #7032 by @christianklotz). - •Fixed startup context file discovery to skip directories that match context file names such as
AGENTS.md, which producedEISDIRwarnings (#7106 by @mrexodia). - •Fixed the llama.cpp extension to persist its model catalog, so llama.cpp models stay listed before the first successful refresh. See llama.cpp (#7072 by @davidbrai).
v0.82.0
v0.82.0
July 24, 2026
- •Constrained tool sampling — Tools can prefer or require strict JSON Schema sampling or use OpenAI Lark/regex grammars, with model capability metadata preventing unsupported requests. See Constrained Sampling for Tools.
- •OpenRouter and Kimi Code sign-in — Use
/loginto authorize OpenRouter or a Kimi Code subscription without manually configuring API keys. See OpenRouter. - •Session-aware, streaming bash integrations — Bash tools receive current session/model metadata, while direct RPC bash commands stream correlated output. See Bash Tool Session Environment and RPC bash events.
- •Added inherited
Tool.constrainedSamplingwith strict JSON Schema (prefer/require) and OpenAI Lark/regex grammar variants across OpenAI, Anthropic, Amazon Bedrock, Google Gemini, and Mistral. See Constrained Sampling for Tools. - •Added inherited
supportsGrammarToolsandsupportsStrictToolscompatibility flags, expandedsupportsStrictModecoverage, and generated model capability metadata to gate constrained sampling. - •Added inherited Kimi Code subscription OAuth login for the Kimi For Coding provider, including device authorization and automatic token refresh (#6935 by @zaycruz).
- •Added inherited OpenRouter OAuth PKCE login through
/login, minting a user-controlled API key. See OpenRouter (#6927 by @rsaryev). - •Exposed
PI_SESSION_ID,PI_SESSION_FILE,PI_PROVIDER,PI_MODEL, andPI_REASONING_LEVELto commands run by built-in and factory-created bash tools. See Bash Tool Session Environment. - •Added streaming
bash_execution_updateevents for direct RPC bash commands, correlated with request IDs. See RPC bash events (#6971 by @ananthakumaran). - •Changed inherited generated model catalogs to expose only provider-verified reasoning effort levels from models.dev (#6928 by @davidbrai).
- •Fixed inherited DNS lookup failures such as
getaddrinfo,ENOTFOUND, andEAI_AGAINto trigger automatic assistant retries (#6946 by @christianklotz). - •Fixed inherited OpenRouter Anthropic cache breakpoints to advance through tool results and enabled cache control for
~anthropic/*-latestaliases (#6941 by @mteam88). - •Fixed inherited OpenAI Codex WebSocket sessions to retry once without a missing previous-response continuation after
previous_response_not_founderrors (#6955 by @davidbrai). - •Fixed TUI debug and crash logs to respect custom agent directories instead of always writing under
~/.pi/agent(#6958 by @davidbrai). - •Fixed slow Ctrl+G external-editor startup when the system temporary directory contains many entries (#6903 by @christianklotz).
v0.81.1
v0.81.1
July 21, 2026
- •Verifiable release source archives — GitHub releases now include deterministic, checksummed source archives with instructions for rebuilding standalone binaries. See Building standalone binaries from release source.
- •Resilient compaction and branch summaries — Transient provider failures now follow the configured retry policy, with retry lifecycle events available to interactive, JSON, RPC, and SDK consumers. See Compaction & Branch Summarization and RPC retry events.
- •Added deterministic, checksummed source archives to GitHub releases with documented standalone binary rebuild instructions (#6913 by @christianklotz).
- •Fixed compaction and branch summarization to retry transient provider failures using the configured retry policy, with retry lifecycle events exposed to interactive, JSON, RPC, and SDK consumers (#6901 by @davidbrai).
- •Fixed interactive startup waiting for background model catalog refresh while computing the footer provider count.
- •Restored the default stream fallback for extensions using the pre-0.81 agent-core API (#6915).
- •Fixed inherited Kimi K3 models from Moonshot AI and Moonshot AI China to use the OpenAI thinking format and expose reasoning effort support.
v0.81.0
v0.81.0
July 21, 2026
- •Local llama.cpp model management — Connect to a llama.cpp router, search and download Hugging Face models, and explicitly load or unload models with live progress. See llama.cpp.
- •Full provider extensions — Extensions can register complete pi-ai providers with authentication, model refresh, filtering, and custom streaming. See Register New Provider.
- •Qwen Token Plan providers — Use the built-in international and China subscription providers with regional endpoints and API-key authentication. See API Keys.
- •Expanded usage accounting — Tool, compaction, and branch-summary usage is persisted and included in session totals. See Compaction & Branch Summarization.
- •Added Qwen Token Plan and Qwen Token Plan China to built-in provider setup, default model resolution, and provider documentation (#6858 by @QuintinShaw).
- •Added the
get_available_thinking_levelsRPC command andRpcClient.getAvailableThinkingLevels()method (#6865 by @cristinaponcela). - •Exported message and tool execution lifecycle event types from the package root (#6772 by @davidbrai).
- •Added built-in llama.cpp router support with
/loginconnection setup and/llamaHugging Face model search and downloads, explicit loading, unloading, and live progress. See llama.cpp. - •Added extension registration for complete pi-ai providers, including native authentication, model refresh, filtering, and streaming behavior.
- •Added usage accounting for tools, compaction, and branch summaries in persisted sessions, footer totals, and session statistics (#6671 by @davidbrai).
- •Updated the packaged
brace-expansiondependency to 5.0.7 (#6896 by @davidbrai). - •Fixed persisted remote model catalogs from overriding newer bundled catalogs after an upgrade.
- •Fixed inherited stored API-key credentials to apply their provider-scoped
envvalues, including Amazon Bedrock profiles (#6864 by @cristinaponcela). - •Fixed inherited OpenAI-compatible cross-provider replay to keep tool call IDs unique when multiple calls share a provider call ID (#6854 by @cristinaponcela).
- •Fixed inherited Kimi K3 thinking levels to expose low, high, and max, and normalized the
k2p7alias tokimi-for-coding.
v0.80.10
v0.80.10
July 17, 2026
- •Kimi Coding thinking compatibility — Kimi Coding models now use adaptive thinking correctly; K3 exposes its supported
maxlevel and supports replaying empty-signature thinking blocks. See Kimi For Coding setup and Model Options. - •Fixed inherited Kimi Coding requests to use Anthropic adaptive thinking effort without token budgets, and enabled empty thinking signatures for K3 and
kimi-for-coding. - •Fixed inherited Kimi K3 pricing metadata for Moonshot AI and Moonshot AI China.
- •Fixed inherited Kimi Coding K3 thinking-level metadata to expose only the supported
maxlevel (#6737). - •Fixed inherited catalog generation restoring xAI models removed in 0.80.9 (#6736).
v0.80.9
v0.80.9
July 16, 2026
- •Kimi K3 and deferred tool loading — Use Kimi K3 across built-in providers, including progressive extension tool activation through Kimi’s native protocol. See Dynamic Tool Loading, OpenAI Compatibility, and the `kimi-deferred-tools.ts` example.
- •Added inherited Kimi K3 support for Kimi Coding, Moonshot AI, Moonshot AI China, OpenRouter, and Vercel AI Gateway.
- •Added Kimi deferred tool loading for extension-driven tool activation. See Dynamic Tool Loading, OpenAI Compatibility, and the `kimi-deferred-tools.ts` example.
- •Changed xAI login to use a prefilled device-authorization link labeled “Sign in with SuperGrok or X Premium,” and changed the default xAI model to Grok 4.5 (#6734 by @Jaaneek).
- •Fixed inherited Kimi K3 output limits for Vercel AI Gateway and OpenRouter models.
- •Fixed cloning or forking a session before its first assistant response to explain that the session must be saved first.
- •Removed Grok 3, Grok 3 Fast, Grok 4.20 variants, and Grok Code Fast 1 from the built-in xAI model catalog (#6734 by @Jaaneek).
v0.80.8Breaking Change
v0.80.8
July 16, 2026
- •Unified model runtime and provider authentication —
ModelRuntimecentralizes model configuration, provider-owned/login, and dynamic provider catalogs. See Providers. - •Live model catalog refresh —
/modelrefreshes configured providers in the background, andpi update --modelsforces an immediate refresh. See Install and Manage. - •xAI device-code OAuth and Grok 4.5 Responses support — Sign in to xAI with a device code and use Grok 4.5 with low, medium, or high thinking. See xAI.
- •Replaced the SDK's
CreateAgentSessionOptions.authStorageandmodelRegistryoptions with the asyncmodelRuntimeoption.AuthStorageand its storage backends are no longer exported; useModelRuntime(or a custom pi-aiCredentialStore), orreadStoredCredential()for one-off reads of auth.json. - •Removed redundant
ModelRuntime.getAll(),find(),getSnapshot(), andgetAuthOptions()projections. Use the pi-aiModelsmethodsgetModels(),getModel(),getProviders(), andcheckAuth()directly. - •Replaced SDK request-auth assembly through
ModelRegistry.getApiKeyAndHeaders()withModelRuntime.getAuth(). Passing a provider ID returns provider-scoped auth; passing a model also resolves built-in,models.json, and extension model headers. - •Changed extension-facing
ModelRegistry.refresh()from synchronousvoidtoPromise<void>becausemodels.jsonloading is asynchronous. Extensions must await it before making synchronous registry reads. - •Moved canonical dynamic catalog refresh to async
ModelRuntime.refresh()/pi-aiModels.refresh(). Legacy extension OAuthmodifyModelsremains supported as a synchronous compatibility projection after credential initialization. - •Added
ModelRuntimeas the canonical async SDK and internal model/auth facade while preserving the synchronous extension-facingModelRegistryAPI.ModelRuntime.create()accepts any pi-aiCredentialStorethrough itscredentialsoption. - •Added provider-owned
/logindiscovery directly from registered pi-ai providers, including ambient auth status and informational links. - •Added file-backed dynamic catalogs in
models-store.json, per-provider pi.dev catalog overlays, and Radius gateway support including offline migration from legacy credential-cached catalogs. - •Added extension provider
refreshModels(context)support for dynamic model discovery with optional provider-controlled persistence. - •Added
pi update --modelsto force an immediate model catalog refresh without updating pi or extensions. - •Added inherited xAI device-code OAuth login and Grok 4.5 OpenAI Responses support, with low, medium, and high thinking levels (#6651 by @Jaaneek).
- •Changed
ModelRuntimeto compose built-in providers, immutablemodels.jsonconfiguration, and extension overlays through ad-hoc pi-ai provider methods.
v0.80.7Breaking Change
v0.80.7
July 14, 2026
- •Removed the
openai-responsescompat.sendSessionIdHeaderflag frommodels.json. Session-affinity behavior is now controlled bycompat.sessionAffinityFormat("openai","openai-nosession", or"openrouter"). ReplacesendSessionIdHeader: falsewithsessionAffinityFormat: "openai-nosession"(#6496 by @petrroll). - •Cache-friendly dynamic tool loading - Extensions can add tools during execution while supported Anthropic and OpenAI Responses models preserve prompt-cache prefixes. See Dynamic Tool Loading.
- •Message copy shortcut -
Ctrl+Xcopies the last assistant message in the transcript or the selected message in/tree, making older and branched messages directly copyable. See Display and Message Queue. - •Fable 5 `xhigh` and `max` thinking - Native
xhighandmaxthinking levels are available across generated provider catalogs. See Model Options. - •Added cache-friendly dynamic tool loading for extension tools activated by tool results. Supported Anthropic and OpenAI Responses models load definitions where they become available, preserving the cached prompt prefix. See Dynamic Tool Loading (#6474).
- •Added inherited native
xhighandmaxthinking levels for Claude Fable 5 across all generated provider catalogs (#6490 by @davidbrai). - •Added
Ctrl+Xto copy the last assistant message, or the selected message in/tree. - •Added inherited
toolChoicesupport for OpenAI and Codex Responses, including required and named tool selection (#6588 by @xl0). - •Fixed inherited OpenRouter model context windows to use the top provider's actual context length (#6481 by @davidbrai).
- •Fixed inherited OpenRouter OpenAI-compatible session IDs to use the
x-session-idheader instead of OpenAI-specific session-affinity fields (#6496 by @petrroll). - •Fixed
Ctrl+Vto paste clipboard text when the pasteboard does not contain an image. - •Fixed
/login amazon-bedrockto prompt for and save a Bedrock API key instead of only displaying ambient AWS credential setup instructions. - •Fixed inherited Amazon Bedrock ambient AWS credentials to keep using SigV4 authentication, including for custom model IDs (#6532 by @ribelo).
- •Fixed inherited Cloudflare Workers AI and AI Gateway authentication to use ambient account and gateway IDs when stored credentials contain only an API key (#6292 by @markphelps).
- •Fixed inherited legacy terminal decoding for Alt+symbol key combinations such as
Alt+,andAlt+.(#6523 by @ribelo).
v0.80.6
v0.80.6
July 10, 2026
- •`max` thinking level - New opt-in thinking level above
xhigh, natively supported on GPT-5.6 and adaptive Claude models, available across CLI (--thinking max), SDK, RPC, and model selection. Custom themes can definethinkingMax. See CLI Reference. - •Input-based pricing tiers - Request-wide input-token pricing tiers for accurate long-context cost accounting (e.g. GPT-5.4/5.5/5.6 long-context rates), also configurable for custom models in
models.jsonandmodelOverrides. See Model Configuration. - •Added the opt-in
maxthinking level across CLI, SDK, RPC, model selection, and themes. Custom themes can definethinkingMax; existing themes fall back tothinkingXhigh. - •Added request-wide input-token pricing tiers to custom model costs in
models.json,modelOverrides, and extension-registered providers. - •Added
~(home directory) expansion for theshellPathsetting (#6470 by @aaronkyriesenbach). - •Fixed inherited post-compaction output-token budgeting to ignore stale assistant usage from before the compaction boundary (#6464).
- •Fixed inherited GPT-5.4 and GPT-5.5 long-context cost accounting while retaining the intentional 272K default context limit for models that require an explicit override.
- •Fixed inherited GPT-5.6 metadata to keep direct OpenAI requests in the 272K short-context tier while exposing the Codex backend's 372K context window with long-context pricing, and removed the nonexistent bare
gpt-5.6alias. - •Fixed inherited Anthropic message conversion to preserve thinking blocks with empty thinking text but a valid signature instead of dropping them, avoiding thinking-block errors on newer Claude models (#6457 by @davidbrai).
v0.80.3
v0.80.3
June 30, 2026
- •Anthropic Claude Sonnet 5 support - Claude Sonnet 5 is available through inherited Anthropic-compatible and Bedrock provider catalogs with adaptive thinking enabled. See Providers and Model Options.
- •Configurable output spacing -
outputPadcontrols horizontal padding for user messages, assistant messages, and thinking blocks. See Settings. - •External editor configuration -
externalEditorlets Ctrl+G use a configured editor before$VISUAL/$EDITORfallbacks. See Settings and Keybindings. - •Richer RPC session tree access - RPC clients can inspect session entries and tree snapshots with
get_entriesandget_tree. See get_entries and get_tree. - •Extension session metadata updates - Extensions can observe session name changes through
session_info_changed. See session_info_changed. - •Modern Azure Foundry endpoint support - Azure OpenAI Responses provider setup supports current Microsoft Foundry endpoint URLs. See Azure OpenAI.
- •Added inherited Anthropic Claude Sonnet 5 model support.
- •Added
get_entriesandget_treeRPC commands for reading session entries and tree snapshots over RPC (#6078 by @geraschenko). - •Added a package
./rpc-entryexport for launching Pi directly in RPC mode. - •Added session-name change events for extensions (#6175 by @xl0).
- •Added inherited Azure OpenAI Responses support for modern Microsoft Foundry endpoint URLs (#6004 by @gukoff).
- •Added inherited
Usage.reasoningtoken counts for providers that report reasoning/thinking token usage (#6057). - •Added an
externalEditorsettings.json override for Ctrl+G external editor commands, with default fallbacks to Notepad on Windows andnanoelsewhere (#6122). - •Added an
outputPadsetting for user message, assistant message, and thinking horizontal padding (#6168). - •Changed the default OpenAI model to
gpt-5.5.
v0.80.2
v0.80.2
June 24, 2026
- •Changed inherited pi-ai
ApiKeyCredentialto use theauth.json-compatible discriminatortype: "api_key"and provider-scopedenvvalues instead oftype: "api-key"and metadata. - •Renamed the inherited agent-core public harness shell execution options type from
ExecutionEnvExecOptionstoShellExecOptions. - •Fixed inherited Anthropic-compatible custom models to use explicit compatibility metadata instead of provider-name heuristics for session-affinity headers and unsupported tool-field omissions.
- •Fixed inherited request-scoped
apiKeyandenvvalues to participate in provider auth resolution, so providers such as Cloudflare can derive request-specific base URLs from explicit call options (#6021). - •Restored inherited temporary legacy per-API stream aliases such as
streamSimpleOpenAICompletionson the pi-ai compat entrypoint (#6016, #6017). - •Restored inherited runtime
detectCompatfallback inopenai-completionsfor models without explicit compat metadata (#6020).
v0.80.1
v0.80.1
June 23, 2026
- •Fixed inherited Amazon Bedrock scoped
AWS_PROFILEendpoint resolution for built-in inference profile endpoints. - •Fixed inherited Fireworks Anthropic-compatible requests to apply session-affinity and unsupported tool-field defaults for custom Fireworks models.
- •Fixed inherited Together MiniMax M2.7 metadata to avoid unsupported Together reasoning toggles.
v0.80.0
v0.80.0
June 23, 2026
- •Added
Ctrl+Jas a default newline keybinding alongsideShift+Enter. - •Renamed the displayed
zaiprovider label to ZAI Coding Plan (Global) for clarity (#5965). - •pi-ai's old global API (
stream/complete/completeSimple,getModel/getModels/getProviders,registerApiProvider,getEnvApiKey, ...) moved off the@earendil-works/pi-airoot entrypoint to@earendil-works/pi-ai/compat. Extensions are not affected at runtime: the extension loader resolves the pi-ai root to the compat entrypoint (a strict superset), so existing extensions keep working unchanged. Extension sources that typecheck against pi-ai's published types should switch those imports to@earendil-works/pi-ai/compat(or migrate to the newcreateModels()/provider-factory API). The compat entrypoint and the loader alias will be removed in a future release with a migration guide. - •Fixed session names to normalize newline characters before storing or displaying labels (#5999 by @haoqixu).
- •Fixed the session selector to order threaded session trees by the latest activity anywhere in each subtree (#5784 by @Perlence).
- •Fixed extension-related crash and startup-failure reporting to suggest restarting with
pi -ne. - •Fixed inherited OpenAI Responses streams to fail before missing terminal events and fixed context usage and compaction estimates to ignore malformed all-zero assistant usage after truncated responses (#5526 by @dmmulroy).
- •Fixed inherited OpenAI Codex Responses WebSocket sessions to reconnect once when OpenAI's connection limit is reached before output starts (#5973).
- •Fixed inherited Amazon Bedrock endpoint resolution to honor scoped
AWS_PROFILEvalues. - •Fixed inherited Cloudflare providers to require account/gateway configuration and route built-in compat calls through provider auth.
- •Fixed provider-scoped auth environment values to reach inherited
Models/ImagesModelsAPI calls and compat API-key injection. - •Fixed inherited OpenCode Go GLM-5.2 metadata to expose
xhighreasoning and send the provider's max reasoning effort (#5967). - •Fixed
pi --resumeto load user package themes and resolve automatic light/dark theme settings. - •Fixed
models.jsoncustom providers so stored credentials can satisfy auth without a redundant provider-levelapiKey(#5953). - •Removed inherited selective-provider
@earendil-works/pi-ai/baseand@earendil-works/pi-agent-core/baseentrypoints; use the root packages with explicitModelsprovider factories instead.
v0.79.10
v0.79.10
June 22, 2026
- •Extension compaction event context - Extension
session_before_compactandsession_compactevents now includereasonandwillRetry, so extensions can distinguish manual/compact, threshold auto-compaction, and overflow retry flows. See session_before_compact / session_compact and Custom Summarization via Extensions. - •Safer update flow -
pi updateinstalls the exact checked Pi version, and update notices show the changelog URL, making upgrades more predictable. See Install and Manage. - •Added
reasonandwillRetrymetadata to extensionsession_before_compactandsession_compactevents so extensions can distinguish manual, threshold, and overflow compaction flows (#5962 by @PizzaMarinara). - •Fixed the
findtool to respect nested git repository boundaries when parent.gitignorerules ignore the nested repo (#5960). - •Fixed the usage docs slash command table to include
/trustand/import(#5959). - •Fixed inherited OpenAI-compatible streaming to preserve encrypted
reasoning_detailsthat arrive before matching tool call deltas (#5114). - •Fixed broken TUI documentation links to the plan-mode extension example (#5957).
- •Fixed transient extension UI and session-start messages emitted during session replacement or reload so they remain visible, and kept reload input blocked until reload completes (#5943).
- •Fixed the plan-mode example to preserve active custom tools, skip the action prompt when no plan is found, and queue refinement/execution follow-ups correctly from
agent_end(#5940). - •Fixed
pi updateto install the exact version returned by the Pi update check, make--forcereinstall that checked version, fail instead of falling back to an unversioned reinstall when no version is available, and report both the old and updated versions. - •Fixed update notifications to display the actual changelog URL as the hyperlink text.
v0.79.9
v0.79.9
June 20, 2026
- •Chat-template thinking compatibility - OpenAI-compatible custom providers can map Pi thinking levels into
chat_template_kwargs, enabling vLLM/Hugging Face chat-template models such as DeepSeek to use provider-native thinking controls. See Custom Provider API Types and OpenAI Compatibility. - •GLM-5.2 provider improvements - GLM-5.2 now has corrected Fireworks OpenAI-compatible routing and OpenRouter
xhighthinking support, improving/modelbehavior and high-effort reasoning for GLM-5.2 users. See Model Options. - •Added inherited configurable
chat-templatethinking support for OpenAI-compatible providers that usechat_template_kwargs, such as DeepSeek models behind vLLM (#5673). - •Fixed inherited Fireworks GLM-5.2 metadata to use the OpenAI-compatible Chat Completions endpoint with
reasoning_effortsupport (#5923). - •Fixed same-directory session switches to reuse imported extension modules while preserving fresh extension instances and lifecycle events (#5905).
- •Fixed deep session branches taking quadratic time to build context or branch paths (#5909).
- •Fixed inherited OpenRouter GLM-5.2 metadata to expose
xhighreasoning and send OpenRouter's nativexhigheffort (#5770). - •Fixed inherited Markdown streaming code fence rendering so partial closing fences no longer make code blocks shrink or flicker while content streams (#5846 by @xl0).
- •Fixed fuzzy
editmatches to preserve untouched line blocks instead of rewriting the whole file through normalized content (#5899). - •Fixed bash commands through legacy WSL
bash.exeto pass scripts over stdin so shell variables expand in the target bash (#5893). - •Fixed
/modelto hide GitHub Copilot models that are unavailable to the authenticated account (#5897). - •Fixed
/modelselector search to rank exact provider-prefixed matches before proxy-provider model ID matches (#5892).
v0.79.8
v0.79.8
June 19, 2026
- •Selective provider base entry points - SDK users can pair
@earendil-works/pi-ai/baseand@earendil-works/pi-agent-core/basewith explicit provider registration to keep bundled applications from including unused provider transports. See `pi-ai` Base Entry Point and `pi-agent-core` Base Entry Point. - •Mistral prompt caching - Mistral sessions now use provider-side prompt caching with session affinity and cached-token usage/cost accounting. See API Keys and Environment Variables.
- •Post-compaction token estimates - Compact results and compaction events now include estimated post-compaction token counts so clients can show the approximate context reduction. See RPC compact and compaction events.
- •OpenRouter Fusion alias -
openrouter/fusionis available as a built-in OpenRouter model alias. See API Keys. - •Added inherited
@earendil-works/pi-ai/baseand@earendil-works/pi-agent-core/baseentry points for selective provider registration in bundled applications (#5348 by @FredKSchott). - •Added inherited Mistral prompt caching using the pi session ID as
prompt_cache_key, including cached-token usage and cost accounting (#5854). - •Added estimated post-compaction token counts to compact results and compaction events (#5877).
- •Added the inherited OpenRouter Fusion alias as
openrouter/fusion(#5866 by @dannote). - •Updated vulnerable runtime dependencies, including
undiciand the packagedprotobufjstransitive dependency. - •Fixed compaction to refuse sessions with no eligible messages instead of producing empty summaries (#4811).
- •Fixed successful overflow-triggered auto-compaction to avoid retrying completed assistant responses (#5720).
v0.79.7
v0.79.7
June 18, 2026
- •Automatic theme mode -
/settingscan choose separate light and dark themes and follow terminal color-scheme changes. See Selecting a Theme. - •Self-only updates by default -
pi updatenow updates pi only, withpi update --allfor updating pi and packages together. See Install and Manage. - •Extension API helpers - extensions can use
CONFIG_DIR_NAMEfor project config paths and import edit diff helpers for edit-style diffs. See `ctx.cwd` and SDK Exports. - •Warp inline images - Warp terminals now get inline image rendering through Kitty graphics detection. See Image.
- •Added automatic theme mode so
/settingscan use separate light and dark themes and follow terminal color-scheme changes (#5874). - •Added inherited Warp terminal image capability detection so inline images render through Warp's Kitty graphics support (#5841 by @dodiego).
- •Exported
CONFIG_DIR_NAMEfrom the coding-agent public API so extensions can resolve project config paths without hardcoding.pi(#5869 by @xl0). - •Exported edit diff helpers (
generateDiffString,generateUnifiedPatch, andEditDiffResult) from the public API for extensions that need edit-style diffs (#5756 by @xl0). - •Changed bare
pi updateto update only pi, addedpi update --allfor updating pi and extensions together, and clarified extension update prompts. - •Reserved
/in theme names for automatic light/dark theme settings. - •Updated extension docs, examples, runtime help, trust prompts, and config labels to use the configured project config directory instead of hardcoded
.pipaths. - •Fixed RPC unknown-command errors to include the request id so clients do not hang waiting for a response (#5868).
- •Fixed
/modelautocomplete and model selection searches to match provider/model queries regardless of whether the provider or model token is typed first. - •Fixed the tree navigator to horizontally pan deep entries so the selected item remains readable (#5830).
Showing 30 of 121