Bring Your LM 2026.09.06

Build 16 · 2026-09-06

View as Markdown

This is the first release with a Linux download. Inside the app, the embedded provider got simpler: its models are picked from the model list like any other provider's, and a projector or draft head is chosen right there instead of on a settings screen of its own. There is also a Diagnostics screen for sending an error report, and a pass over the parts of the app that flickered, re-counted, or reported an error that was not one.

Linux and Android downloads

The Linux desktop build is on the website as an AppImage: one plain, and one carrying the ROCm backend for AMD cards. It is a single file; make it executable and run it, nothing to install.

The Android APK is on the website too, for installing without a Google account. It is signed with our own key rather than Play's, so it cannot be installed over a copy from the Play Store.

Embedded models are picked in one place

Running a local model with a vision projector or a draft head used to take a detour: open the provider's settings, find the assembled-models section, build the combination from file pickers, save it, and only then choose it for an agent. That step is gone. The embedded provider's model list now shows the model files in your directory, and the projector or draft head is chosen on the model itself: open its row, pick from the dropdowns, choose the model. It is the same list every other provider uses, so it has search, filters, capability icons and favourites.

Around that:

Models assembled before this release keep their names, their tuning and the agents bound to them.

The engine moved forward about two hundred upstream commits, bringing llama.cpp's newer model architectures and backend fixes. Its Vulkan backend now ships without the shaders for the extreme low-bit quantizations; a model quantized to iq1, iq2, iq3 or tq2_0 still runs, with those matmuls on the CPU rather than the GPU.

Speculative decoding is set per device

A draft head that helps on a desktop and hurts tenfold on a phone no longer has to be part of what identifies the model, so one agent can run well on both. Speculation is turned on from a model's settings, on the device you turn it on for. A model's context size and cache types still follow you between devices. Models you had paired, starred, tuned or pointed an agent at keep working.

Diagnostics

The app has no backend of ours, so a failure only reaches the developer when you send it. Settings → Diagnostics builds an error report from this session's warnings and errors and shows the whole of it before anything leaves the device. You can add a note about what you were doing, untick anything you would rather keep, or leave the warnings out altogether. Send report opens your mail client with the report in it, Copy puts it on the clipboard, and Save writes it to a file through the system save dialog on desktop or the document picker on Android, so no storage permission is asked for.

Each report carries a short id in its subject and its body, so a reply can say which one it answers. A session that hits three serious failures offers, once, to open the screen, and the Settings entry in the navigation menu shows the error count in the meantime. A screen that fails to load has a Report button beside Back, with the warnings that led up to it already in the report.

Two things that should never have reached a report no longer can. An API key placed in a provider URL or a fetch tool template is no longer written to logs or into the text of a network error. And a release build no longer writes system prompts, entity names or request URLs to the device log at all.

Several questions in one turn

A tool round can raise several questions at once, and the conversation used to show only the newest, leaving the turn waiting on prompts nobody had seen. Every pending question is now shown, one at a time with a counter to step between them, so the composer stays where it is. Answering one leaves the rest in place, and the turn continues once the last of them is answered, including after a restart. Dismissing a question marks its tool call as not run, with the reason, instead of leaving a tile spinning.

Fetch tools name their destination

A fetch tool sends its URL, headers and body, including values the agent fills in from your conversation, to whoever runs that host. Creating one now requires accepting that, the way the provider form already did. When an agent builds the endpoint, the destination host is shown for approval before it is saved, and again if a later edit points it somewhere else.

Speed and steadiness

Elsewhere