All releases
v0.25.816 October 2026

Engine tool calls stay pinned to the project you connected

3 highlights4 new features1 improvement9 fixes

Desktop engine tool calls keep using the project you connected, even after a tool returns an error, and a missing tool no longer redirects later work to a different project. This release also brings queued messages, code-review finding cards and further prototype mobile work.

Featured

Review finding cards, dollar skills and argument hints

Code-review results now render as finding cards on desktop and as bordered cards in the CLI, showing the verdict, file and line, category, summary and failure scenario, with a clear empty state when nothing was found. The CLI gained the dollar-sign skills trigger with the same picker rules as desktop, both surfaces show a skill's argument hint while you type, and the SDK context breakdown shows where the context window goes. Four built-in agent tools, including Workflow and DesignSync, are turned off for every session. (#838)

Queue a message while the agent is working

Messages sent during a running turn wait in a queued drawer above the composer, where you can send one immediately or pull it back into the composer to edit, and the primary button stays Send rather than Stop whenever there is text or an attachment. Stop now cancels what the running turn holds and restores queued text to the composer, so a withdrawn message cannot still run. Design and Workflow built-ins are switched off for the model and the slash menu, and audio previews gained a remembered loop toggle. (#847)

Engine tool calls stay with the connected project

A missing tool or a dropped project could return an error on a project-pinned engine route and silently move later calls to an unpinned route, where they might reach a different project. Dispatch now keeps the resolved project for every call and returns the original error, and REST calls carry the current discovery session so engine-side selection stays with the session you are in and a reconnect is picked up by the next call. This pairs with the matching server update and requires no engine plugin or engine CLI upgrade; settings and download metadata writes on Windows also retry a little longer when another application briefly holds a file open. (#866)

New

Native iOS chat prototype

A SwiftUI prototype for iPhone and iPad explores native session navigation, chat, local history, drafts and an outbox, image attachments, and simulated streaming and offline states. It is prototype source only: it makes no backend or AI calls, so this release does not include an installable iOS app. (#827)

Prototype localization and floating composer

The iOS prototype gained a floating chat composer with follow, pause and resume controls, and a native string catalog covering 70 languages with English fallback. Translations are an initial machine-assisted draft that still needs native-speaker review. (#830)

iPad workspace and branding for the iOS prototype

The iOS prototype now carries the AI Game Dev name and the desktop light and dark artwork, with an adaptive brand mark shown in an empty workspace. On iPad the session sidebar stays alongside chat, supports rotation and the native sidebar toggle, and Settings and Session Info open as form sheets. (#836)

Native Android prototype

A Kotlin and Compose prototype for Android phones and tablets mirrors the iOS work: adaptive session navigation, a floating composer, scroll following, image attachments, and local history, drafts and an outbox in a transactional database. Like the iOS prototype it is source only, with no backend, authentication or network access, and this release does not publish an installable Android app. (#841)

Improved

Tripo packages work on the CLI host

Paid operations that previously worked only on desktop now run in the CLI as well, scoped to the CLI's open project and session with the same admission checks, and background tasks are served there too. The paid-job recovery journal is shared between desktop and CLI under a cross-process lock, and capabilities served by an agent provider are no longer labelled as prototypes. (#861)

Fixed

Desktop session closure during package state reads

Closing a desktop session while a package state read was still in flight could surface a host error instead of a clean result. Those reads now report the package state as unavailable once the session has gone, while genuine host failures are still reported as before. (#814)

Compact iOS composer layout

The compact composer in the iOS prototype is now vertically centered with tighter padding, dropping its base height from 70 to 52 points, and Send and Stop use the native circular button shape. Minimum touch target sizes and expanded multiline editing are unchanged. (#832)

A package without tool state no longer breaks a CLI turn

One default package could make every CLI message fail with a session tool provider error, because a missing tool-state view escaped into the send path. A package with no registered tool state is now simply not offered, and a provider that fails to prepare is skipped with a warning instead of taking the whole turn down. (#857)

Download and spend confirms no longer answer themselves

A confirmation prompt could take the first matching key found anywhere in the text you were typing, so an ordinary sentence could start a multi-gigabyte model download or allow a spend. A choice now counts only as a deliberate, isolated key press that is not followed by further typing, while Escape still cancels instantly. (#867)

Scoped release trains accept published engine dependencies

Scoped engine-only release trains can now use published server and plugin releases for their tests instead of rejecting them before the tests run. The pipeline verifies checksums and resolved versions before proceeding. (#885)

Proxy conversations compact before context runs out

Proxy sessions with large tool results now compact earlier, so the conversation can continue instead of hitting a context limit. The change keeps the server's model window information and existing output limits. (#889)

Released test fixtures download without runner credentials

Test runners on fresh Windows machines can download published fixture archives anonymously over HTTPS, with checksum verification still required before extraction. This removes a credential requirement that blocked the release train. (#890)

Model storage moves wait for journal writes to finish

Pausing downloads before relocating model storage now waits for the final journal write to complete, so the copied journal matches the files being moved. The move still verifies file sizes and blob hashes. (#892)

Unreal extensions browse and install from the online component index

Unreal extension browsing now uses the CLI's validated online component index and delegates install and version policy to the CLI. Historic versions still work, and newer installed copies are preserved. (#895)

Under the hood

  • refactor: centralize package account snapshot caching (#871)
  • test(train): verify future engine CLI against locked identity (#887)