@oh-my-pi/pi-ai
Added
- Added an optional
completeSimplecallback that observes every result, including results from internal thinking-loop retries. - Added compatibility options for Anthropic-compatible proxies that reject
context_managementand OpenAI Responses proxies that provide incomplete reasoning-summary streams. - Added ClinePass API-key authentication via the official
CLINE_API_KEYenvironment variable, with account validation, actionable subscription and quota errors, support for eligible ClinePass model rosters, and rolling quota-window reporting inomp usage. - Added Devin router-model support, including assignment of the concrete model before each request, routed-model metadata, credit usage reporting, and plan, quota-window, and account details through
omp usage.
Changed
- Provider behavior is now driven by each model's resolved compatibility, identity, thinking, and behavior policies rather than model-name matching, improving support for model-specific request formatting, vision, reasoning, routing, pricing, and quota handling.
- Devin integrations now use the current released CLI identity and support parallel tool calls when the model declares that capability.
Fixed
- Fixed OpenAI remote-compaction replay for persisted sessions, allowing sessions with previously stored compaction items to resume successfully.
- Fixed Cursor Fable requests failing when advertised tools used JSON Schema composition keywords.
- Fixed Z.AI (GLM Coding Plan) browser sign-in by using the registered CLI callback address.
- Fixed OpenAI Codex/Responses tool results being lost when composite call identifiers could not be paired with the corresponding assistant call.
- Fixed native OpenAI Responses history replay becoming stuck on malformed or truncated function-call arguments; invalid history items are now discarded so the session can recover.
@oh-my-pi/pi-catalog
Added
- Added GitLab Duo model support.
- Added provider support for Llama.cpp, LM Studio, and Minimax.
- Added catalog entries for Qwen 3.8 27B, Granite 4.2 8B, Abliterated variants, GLM 5.3, and Qwen 3.8 Flash Next.
- Added compatibility metadata for context management and reasoning summaries on supported provider-compatible model endpoints.
- Added the native ClinePass provider with live model discovery, subscription and free-tier model listings, current limits and pricing, model modalities, and per-model reasoning controls. Subscription models display API-equivalent pricing while free-tier models display as free.
- Added native Devin provider discovery with current Cascade model capabilities, pricing, limits, reasoning controls, selector aliases, and model descriptions and recommendation/beta metadata. Added static SWE-1.6 defaults so the provider can resolve a default model before account-scoped discovery completes.
- Added per-tier model pricing and long-context pricing support, along with expanded catalog metadata for model limits, API routes, input modalities, and provider-specific model aliases.
Changed
- Updated pricing data across the catalog to reflect current provider rates.
- Standardized model display names for greater consistency.
- Improved model compatibility classification and variant selection using structured model identities, providing more reliable detection of model families, revisions, reasoning variants, and provider-specific capabilities.
Fixed
- Fixed compatibility detection for vendor-prefixed GLM models on Mistral and Cerebras, restoring the appropriate tokenizer and reasoning-history behavior.
- Removed an obsolete OpenCode provider entry that exposed unavailable Zen models in the model picker.
- Fixed model revision detection for parameterized model IDs, including correct classification of Qwen, Fireworks Kimi, and Cursor-wrapped Grok models.
- Fixed Kimi K3 reasoning-effort handling on OpenAI-compatible hosts such as LiteLLM and vLLM.
- Fixed pricing for Codex Daybreak aliases, including worker variants.
- Fixed reasoning-effort variants for local Ollama models and DeepSeek V4, and corrected prompt-cache support for applicable Bedrock Nova deployments.
- Fixed Devin model variants with separate thinking and context-size options so all supported routing combinations and context limits are preserved.
- Corrected Devin SWE-1.6 and SWE-1.6 Fast capability metadata so image attachments use the appropriate text-only fallback instead of being silently discarded.
- Devin discovery now warns when the service returns an empty native model catalog, helping identify stale or incompatible CLI credentials.
Removed
- Removed legacy DeepSeek V3 variants from the Novita catalog.
@oh-my-pi/pi-coding-agent
Added
- Added the
/traceslash command to display session trace URLs in the stats dashboard. - Added support for OpenAI-compatible gateways whose model-list endpoint is rooted at a versioned URL, with an
injectV1: falsediscovery option to request{baseUrl}/modelsdirectly. - Added provider-reported credits and concrete routed-model counts to
/sessionstatistics. - Added
CLINE_API_KEYto CLI environment help for native ClinePass subscription inference. - Expanded Devin model selection to support native CLI aliases, dotted upstream model names, and raw effort-route identifiers.
- Added provider-supplied model metadata to
/models, including new, beta, and recommended badges plus model descriptions. - Standalone
CLAUDE.mdfiles in project and ancestor directories are now loaded as context alongsideAGENTS.md, while preserving config-directory precedence. - Added an Activity view to Agent Hub with searchable and filterable timelines spanning live progress and persisted transcripts;
/hubis now the live-operations entry point while/agentsretains Control Center behavior. - Added an
icon.advisorClosedsymbol-theme token: the advisor eye in the status line now closes once the advisor has finished reviewing and will not add further comments.
Changed
- Disabled hashline editing for Kimi, Mimo, DeepSeek Flash, and Stepfun models for improved stability.
- Reworked
/usageinto a fullscreen dashboard overlay (no transcript output): a compact per-provider subscriptions grid with untouched providers collapsed into one line, a GitHub-style daily activity heatmap fed by local stats, and the classic full report one keypress away. - Reworked transcript navigation with a fullscreen rewind selector opened by double-Escape, supporting rendered-item navigation, user-turn jumps, branching rewinds, and alternate session-tree branch selection.
- Updated
/copyto use the fullscreen transcript selector, allowing users to copy a turn or navigate into nested content such as code, quotes, commands, and tool output.
Fixed
- Improved edit-tool error guidance for operations missing the
»separator, identifying redundant context-only operations - Fixed OAuth provider
modifyModelsprojections being silently dropped after a discovery refresh introduced live-config headers. - Edit-tool
+/-line operations now match their anchors leniently across whitespace drift (indentation, blank-line miscounts) instead of failing with a byte-for-byte error; a note reports the lenient match. - Fixed an edit-tool REWRITE consisting only of
+add lines silently replacing (deleting) the matched text; it now inserts after the kept MATCH. - Edit-tool no-match errors now name MATCH lines that exist nowhere in the file and suggest marking them with
+, and errors without a located region no longer append a misleading file-head "closest match" preview. - Fixed ordinary CLI startup eagerly loading the computer worker graph (native desktop addon and early environment), restoring lazy startup and profile
.envordering. - Fixed online auto-thinking classifier usage being omitted from session token and cost totals.
- Fixed image generation with custom provider endpoints when using
openai-codexcredentials and a non-OpenAI chat model. - Fixed custom hook UI factories not receiving the documented
keybindingsargument. - Fixed MCP OAuth token exchange for authorization endpoints that use a different resource indicator.
- Fixed custom extension
web_searchtools being shadowed by the built-in search tool. - Fixed Agent Hub task boards collapsing to summary rows after returning from a focused session.
- Improved Linux ARM64 browser startup messaging when managed Chrome for Testing builds are unavailable, with guidance for using system Chromium or
PUPPETEER_EXECUTABLE_PATH. - Fixed resuming image-heavy sessions that previously terminated while replaying transcripts.
- Fixed custom agents declaring
hubbeing incorrectly treated as read-only. - Restored compatibility for legacy Pi extensions that import
calculateContextTokensor use the synchronousSettingsManager.create()API. - Fixed custom model overrides being lost during configuration updates.
- Clarified that the default task-delegation setting follows the selected model's policy.
- Fixed
/renamewithout a title interrupting active session activity. - Fixed the Nerd Font notification persisting incorrectly after theme configuration.
- Fixed sampling parameter errors with newer Anthropic models.
- Long OpenCode Go usage-limit waits now switch replay-safe turns to a configured alternate provider when the delay exceeds
retry.maxDelayMs. - Fixed OpenAI Codex Responses tool results being lost when composite and plain tool-call identifiers did not match.
- Fixed
/tanbackground agents failing to resolve credentials for providers supplied by extensions. - Fixed Mnemopi saving session transcripts on exit when automatic retention is disabled.
- Fixed configuration writes through chained symlinks so the final target and intermediate links are preserved.
- Fixed direct tool calls using full
xd://device URLs. - Fixed command-backed headers in custom discovery providers being resolved for discovered models.
- Fixed Windows drive paths pasted under WSL being resolved through their
/mnt/<drive>mounts for images and file reads. - Improved sloppy/SPARSE edit no-match guidance so low-confidence matches are clearly presented without unsafe copy-ready operations.
- Fixed agents in Hub wait loops failing to respond to user steering messages.
- Fixed
/tansessions inheriting parent costs and overstating subagent totals. - Fixed prompt action labels being truncated.
- Fixed assistant text being truncated when a tool call begins during streaming.
- Fixed the advisor dropping concerns when catching up on multiple turns and improved review context with bounded tool-result excerpts plus complete
askexchanges. - Fixed bash command timeouts being delayed by child processes holding output pipes open, while improving timeout reporting and cleanup.
- Fixed retry countdowns and capped-wait errors displaying floating-point noise in millisecond durations.
- Prevented browser
app.pathfrom terminating existing same-executable applications when no reusable CDP endpoint is available. - Fixed top-level errors overwriting the active composer before terminal restoration.
- Fixed Enter being ignored during the first turn when omp starts with an initial prompt.
@oh-my-pi/pi-natives
Fixed
- Fixed TTY output backpressure reporting so pending write progress is accurately reflected during large writes.
@oh-my-pi/snapcompact
Added
- Added a declarative compatibility rules system for consistent model identification, capabilities, policies, and provider-specific behavior across model classes, families, and revisions.
- Added the compat-compiler CLI for managing model identity and capability rules through KDL configuration files.
Changed
- Standardized model revision handling and compatibility resolution across model discovery and runtime behavior.
@oh-my-pi/omp-stats
Added
- Added API for daily activity tracking, including cost, requests, and token usage aggregates
- Added a Traces dashboard for detailed session analysis, including an interactive timeline, searchable and filterable transcripts, token and cost summaries, and aggregate tool-usage and timing insights.
Fixed
- Fixed
omp statsomitting usage from online auto-thinking classifier calls.
@oh-my-pi/pi-tui
Fixed
- Improved terminal stability when resuming image-heavy sessions, preventing large transcript repaints from being mistaken for stalled output or exceeding the terminal output limit.
- Fixed inline images leaving blank rows in Herdr panes when resuming or rendering sessions in nested terminals.
- Fixed the TUI crashing on reference-style Markdown links whose labels match JavaScript built-in names; these links now render safely as plain text.
- Fixed fatal cleanup leaving the cursor inside a focused input before error output is displayed.
- Fixed resumed sessions showing stale background bands until the next keypress in WSL and Windows Terminal.
@oh-my-pi/pi-utils
Added
- Added
postmortem.fatalfor terminal-safe top-level failure reporting.
Fixed
- Fixed sub-second duration formatting so it no longer exposes floating-point precision noise.
- Managed Chrome-for-Testing downloads now reject unsupported Linux ARM64 hosts instead of installing an incompatible x86_64 browser.
- Fixed Markdown reference-link labels that match built-in
Object.prototypenames, such asconstructorand__proto__, so they are no longer misidentified as definitions or emitted with an undefined URL (#10283).
What's Changed
- feat(ai,catalog): add native ClinePass provider by @will-bogusz in #7863
- feat(ai,catalog): adopt Devin's native CLI surface (dynamic catalog, router, usage) by @will-bogusz in #8590
- feat(coding-agent): load standalone CLAUDE.md from project root by @H4vC in #10272
- feat(coding-agent): add openai-models-list-bare discovery no norm by @H4vC in #10371
- fix(auth): use ZCode-registered callback for Z.AI OAuth by @roboomp in #10246
- fix(ai): add provider compatibility opt-outs by @jubueche in #10358
- feat(coding-agent): add unified agent activity view by @kmccleary3301 in #7974
- fix(hooks): align HookUIContext.custom with runtime keybindings arity by @kvnloo in #10424
- fix(prompts): make hub steering interrupts require a user-facing reply by @ParadaCarleton in #10437
- fix(config): resolve discovery-provider !command headers on inference path by @roboomp in #10458
- fix(tools): allow opaque Codex image proxy credentials by @roboomp in #10460
- test: unbreak
coding-agent native/uniton displayless PR runners by @Mustaqeem66 in #10262 - fix(advisor): deliver full deferred-note backlog past per-update cap by @roboomp in #10273
- fix(tui): restore terminal before fatal stderr output by @roboomp in #10277
- fix(nix): restore bun lock guard by @roboomp in #10281
- fix(ai): pair composite Responses tool-call ids on the call_ component by @mattwilkinsonn in #10284
- fix(config): preserve dangling symlink chains on config write by @mattwilkinsonn in #10285
- fix(tui): render prototype-label reference links as plain text by @roboomp in #10291
- fix(mcp): preserve advertised OAuth resource by @roboomp in #10301
- fix(tui): enforce image budget before frame emission by @roboomp in #10307
- fix(bash): bound native output-drain so timeouts fire on time by @roboomp in #10309
- fix(tools): respect custom web search overrides by @roboomp in #10316
- fix(session): exclude inherited cost from /tan forks by @roboomp in #10319
- fix(coding-agent): force-complete streaming reveal at tool-call boundary by @roboomp in #10320
- fix(coding-agent): preserve activity after invalid rename by @roboomp in #10327
- fix(pi-ai): drop malformed function_call arguments from Responses replay by @IanAbaxx in #10332
- fix(tui): fuse resumed-session repaint with overlay exit by @roboomp in #10340
- fix(tools): resolve xd:// prefixed direct device calls by @roboomp in #10343
- fix(scripts): use canonical read-only agent policy by @roboomp in #10350
- fix(coding-agent): surface relay consumer startup errors by @roboomp in #10354
- fix(tui): prevent blank images in herdr panes by @roboomp in #10356
- fix(coding-agent): fix truncated labels of prompt actions by @kidonng in #10357
- fix(retry): bypass long OpenCode usage waits by @solutions-ship-it in #10365
- fix(auto-thinking): account for classifier usage by @jubueche in #10366
- fix(advisor): include bounded tool results in reviews by @jiwangyihao in #10367
- test(coding-agent): isolate default model regression fixture by @roboomp in #10384
- test(robomp): isolate server tests from dispatcher by @roboomp in #10385
- fix(pi-shell): make process tests independent of coreutils by @roboomp in #10386
- fix(coding-agent): forward parent extensions to /tan child so provider auth survives by @fernandodeperto in #10390
- fix(extensions): restore SettingsManager shim shape for legacy pi extensions by @roboomp in #10398
- test(coding-agent): fix placeholder collision flake by @roboomp in #10402
- docs(coding-agent): clarify default task delegation policy by @roboomp in #10405
- fix(browser): reject x86 chromium download on linux arm64 by @roboomp in #10406
- fix(mnemopi): respect disabled auto-retention on exit by @kml93 in #10408
- fix(edit): gate sloppy no-match anchor guess on confidence by @roboomp in #10412
- fix(ai): strip compaction statuses from replay by @spgsroot in #10415
- fix(catalog): retire leftover bare opencode provider slice by @roboomp in #10418
- fix(tools): translate windows drive paths to /mnt mounts on WSL by @roboomp in #10428
- fix(cursor): sanitize unsupported tool schema combiners by @roboomp in #10433
- fix(tui): make stdout backlog disconnect progress-aware by @roboomp in #10434
- fix(tui): preserve task boards across focus rebuilds by @roboomp in #10447
- fix(tui): round fractional retry durations by @roboomp in #10266
- fix(browser): preserve pre-existing app processes by @roboomp in #10269
- feat(coding-agent): close advisor eye icon once its review has yielded by @H4vC in #10463
New Contributors
- @kvnloo made their first contribution in #10424
- @IanAbaxx made their first contribution in #10332
- @solutions-ship-it made their first contribution in #10365
- @fernandodeperto made their first contribution in #10390
- @kml93 made their first contribution in #10408
- @spgsroot made their first contribution in #10415
Full Changelog: v18.0.11...v18.1.0