# Bring Your LM 2026.11.09

Version 2026.11.09 · Build 21 · 2026-11-09

This release is about running models on the phone itself. An in-app model now shows what it will
take from memory before it loads, against the limits Android stops an app at, and the settings
page suggests the changes that make it fit. Follow-up messages to an on-device model resume from
its cache instead of re-reading the conversation, and the Linux app runs CPU models several times
faster. Conversations gain a model switch
in place, a per-conversation agent, and `@` links to the things an agent can work with.

## On-device models and memory

Android stops an app that holds too much memory, and Google Play counts it against the app. A
model's settings page now shows a memory bar for the settings being edited — the base model, a
draft head, the KV cache and working buffers, the vision projector — against this phone's
recommended size and limit, and offers the changes that would help with Apply.

- New per-device settings, on the in-app provider and per model: **Map the model file** (Auto, On,
  Off), so weights are read from the file instead of copied into the app's memory; **Repack the
  weights** (Auto, On, Off), trading prompt speed for far less counted memory; and the **backend**
  each model runs on, with Inherit following the provider.
- On Auto, a model that would go over the limit repacked loads unrepacked instead.
- A load that would go over the phone's limit is refused with what it would take and what the
  phone allows. "Load even when over the limit", in the model's settings, allows it on this phone.
- **Release the model in the background**, on the in-app provider: from 30 seconds to 15 minutes,
  or Never. A model stays loaded through a reply's tool calls while the app is away.
- Notes on the memory bar explain what costs memory needlessly and how to change it: a projector
  that could load at the first image, repacked weight types and their sizes, Vulkan when moving the
  weights to the GPU would keep the model inside the limit, a 4-bit KV cache for a large context.
- The settings page lists the reply and prompt speed each backend and repacking setting measured on
  this device, and offers the clearly faster one. It says when this processor reads a model's
  weight type slowly, and when a Q4_0 file may answer further from the original than Q4_K_M.
- The Base model and Multimodal projector cards show the file's local name, and a model you
  renamed shows that name in the model list and picker.

The usage strip above a conversation shows whether an in-app model is loaded, its backend and
context, and one memory bar, with a button to the model's settings. Each reply's metrics keep the
memory it took, the projector and draft head it ran with, how long it waited for the model, and
how much of its prompt came from the cache.

## Faster on-device replies

- A follow-up message reads only what is new: hybrid models such as Qwen3.5, Bonsai 2 and LFM,
  models whose tokenizer adds a leading space such as Nanbeige4.2, long replies, and a title made
  by another in-app model no longer throw the conversation's cache away.
- Switching between conversations on the same model resumes each one's cache, up to one extra
  context's worth of memory; on a phone, saved conversations are dropped before they push the app
  past the recommended size.
- A reasoning model such as LFM3 keeps its past thinking, so each message picks up where the last
  reply ended. Keep past thinking, on the provider or per model, turns it off to save context. Its
  thinking is also given back during tool calls.
- With a draft head and "Speculation tokens" left empty, the model drafts the length that is
  fastest on this device, remembers it for the next load, and goes on without the head when plain
  generation is faster. A Gemma 4 draft head keeps the conversation's cache between replies.
- On phones with an ARM Mali GPU, Vulkan reads long prompts several times faster.
- On Linux, a model on the CPU uses AVX2 and AVX-512: prompts read 6 to 25 times faster and replies
  are written 2.5 to 6 times faster. The backend shows the instruction sets in use, such as
  "CPU (AVX2, AVX-512)".
- The embedded engine moves to llama.cpp b12124.

## Conversations

- **Change model**, in the usage strip, picks another provider, model or generation settings for
  this conversation from the next turn on; the agent keeps its own.
- **Customize agent** on a new conversation opens the agent's settings above the composer and starts
  the conversation with the adjusted agent, leaving the stored one as it was. A conversation's own
  title and agent name are set there and on its edit page.
- Type `@` in the composer to link an agent, tool, provider, secret, constant, model or conversation
  the agent has tools for. Tapping such a link in a message opens it in the app.
- A **conversation title tool** lets the agent's own model name and summarize the conversation;
  automatic titles step in only when it stops. A file that uses it needs this version.
- A tool call appears as soon as the model starts writing it, with its arguments filling in live.
- The conversation list marks a reply that failed while you were away, and a running conversation
  no longer looks like an error.
- "Your reply is ready" posts once per conversation, under its new title, with the start of the
  reply; it is hidden on a lock screen set to hide sensitive content.
- Stopping a reply that waits for your answer ends it, and conversations left looking like they
  were still generating are cleared.
- An open Thinking section stays smooth while long reasoning streams.
- Page Up and Page Down scroll the conversation, also from the composer.

## Agents and tools

- An agent can no longer call itself, directly or through other agents, and sub-agents nest at most
  three levels deep. An import that would close such a loop with agents already here names it and
  stays disabled.
- A fetch tool's cost expression can read the tool's linked constants, so a price per credit lives
  in one place. An agent saving or reading a tool learns which constant slots are unlinked before a
  call is refused.
- A credit fee with no price, a negative fee, a jq program reading a variable it cannot see, and a
  save that changed nothing are each reported instead of passing silently.
- Titles & summaries can skip conversations whose agent sets its own title, and show the
  workspace's settings under an agent and a conversation.

## Sharing and the marketplace

- **Publish**, beside Save in the export review, opens the marketplace's publish page in the
  browser with the reviewed file filled in. The app still sends nothing to the marketplace; a file
  too large for a link is saved and uploaded as before.
- The marketplace emails moderators about uploads and publishers about decisions, each kind with
  an off switch. Signing up no longer needs a provider-verified email address; publishing waits
  for a confirmed one.
- Listings show how many downloads of other listings brought them along, and crawlers no longer
  count as downloads.
- The website has a light theme, docs with Features and Use Cases sections, a sidebar and an
  outline, and Articles, starting with how to choose a model file. Every page can be read as
  Markdown.

## Android

- On Android 17, reaching a provider, fetch tool or sync endpoint on your home network needs Nearby
  devices access. The app asks when such an address is saved and before a message is sent, and the
  form, list and a banner offer Allow when it is missing.
- Screen readers name the Send button and every other icon-only button.
- Save at the end of a form, and the last row of a list, no longer hide under the navigation bar.
- A hardware keyboard no longer leaves a coloured frame around the app, and the Enter-key swap
  shows only while one is connected.
- The Play listing names English as the only language.

## Smaller fixes

- Workspaces can be dragged into your own order on the Workspaces screen; the drawer and forms
  follow it, and the order syncs.
- Tab walks the navigation menu in order, skips it while collapsed, and shows which control has
  focus in a conversation.
- Badges are red only when something failed.
- Jobs read in words: "Assistant reply", "Tool call", "started by you".
- On Linux, notifications come from "BYLM - Bring Your LM".
- "Read on the website" on the What's new screen opens the release's notes.
- The right-click menu on desktop stands out from the page in dark mode.

---

[Bring Your LM](/) · [Docs](/docs/features) · [Marketplace](/marketplace)

[Articles](/articles) · [Releases](/releases) · [Bundle Format](/marketplace/bundle-format) · [Marketplace Terms](/terms) · [App Privacy](/privacy) · [Website Privacy](/website-privacy) · [Open Source](/open-source) · [llms.txt](/llms.txt)
