LumaBrowser 1.6 is about work that keeps going when you look away. Chats now run on a schedule, results reach your phone, and the widgets you build stay pinned to a dashboard. Underneath, the model layer learned to fit bigger models on the hardware you already own.
The gap between "I asked the model something" and "the answer found me" is where most local AI setups fall down. Three additions close it.
Turn any conversation into a recurring job. Scheduled chats appear in their own sidebar group and run against the model and tool selection the setup chat is using, so a task behaves the same way on its tenth run as it did when you tested it.
You can also trigger a scheduled task immediately instead of waiting for its next window.
A new ntfy notifier tool lets a chat or a scheduled run push a message to your devices. Pair it with a scheduled task and a long-running job can tell you it finished while you are somewhere else entirely.
The programmatic tools group adds a send-webhook tool, so a conversation can hand its result to whatever you already run. These tools ship switched off and are enabled per chat, deliberately.
Any live artifact the model builds can be pinned straight from chat onto a dashboard and arranged into a layout that persists. The thing you generated once becomes something you glance at daily.
Mark a tab as persisted and it stays alive when closed, then comes back on the next launch in the same partition. Useful for the handful of sites you never actually want to log into twice.
An all-artifacts view collects everything the model has produced in one place, artifacts created by sub-agents now surface in the parent conversation, and deleting a conversation cleans up the artifacts and scheduled runs it left behind.
Local models are slower than hosted ones. Most of 1.6's chat work is about not spending that time twice.
Follow-up replies reuse the prompt cache instead of reprocessing the whole conversation, so the second question in a long thread no longer costs as much as the first.
Reasoning models are worth the wait for hard questions and a waste of it for easy ones. A disable-thinking option in setup lets you decide per conversation.
After each response the chat can offer three tappable follow-ups, which keeps a conversation moving without making you type the obvious next question.
Tools can now be enabled and disabled globally as well as per conversation, so a focused chat is not carrying twenty tools it will never call.
Images render inline in the conversation, and setup forms appear in the conversation area itself rather than interrupting with a modal. AI-fill buttons will draft a character name, persona, or scenario for you when a blank field is the thing standing in your way.
The AI Chat side panel is now a surface over the same engine the LLM tab uses. Conversations are shared between the two, so what you start in the panel is waiting for you in the tab.
The most valuable upgrade in 1.6 is not a feature you click. It is the planner getting better at answering "will this actually fit," and then making more things fit.
MoE models can now push expert tensors to system RAM while the rest stays on the GPU, which brings large mixture-of-experts models within reach of cards that could not hold them whole.
Point LumaBrowser at an existing LM Studio, Ollama, or Hugging Face model directory and it adopts them in place. No second copy of a 40 GB file.
In Easy Setup, a model download can be paused and resumed, and the resume survives an app restart. Sharded multi-part GGUF files are handled as a single job with aggregate progress, so a large download surviving a reboot is the difference between a setup that finishes and one you abandon.
The Setup tab's GPU-fit matrix is now answered by the same planner that launches the server. Models that read red at long context but started fine now read green, and measured results are shown where they exist.
Model families get their own tuned defaults, and a speculative drafter can pair a small model with a large one to speed up generation.
If a runtime or model is missing, the chat tab says so on startup with a one-click fix, instead of failing at the moment you first try to use it.
Sharing a model with other machines on your network now runs over TLS with managed self-signed certificates, and you choose which models each peer is offered.
Per-model-type prompting hints and default negatives, resolution profiles, and the ability to cancel a generation already in flight. A one-click Wan Lightning LoRA pairing cuts the step count on supported models.
Video generation accepts an explicit duration, up to fifteen seconds, rather than always producing a fixed-length clip.
Character rendering gained a largest-component filter and shape validation, which removes the duplicate mini figures and off-centre crops that used to break a scene.
The app moved from Electron 34 to 43, bringing a newer Chromium and its security fixes.
Transparent visuals are enabled for X11, so the window looks the way it does everywhere else.
These change behaviour you may be relying on. Read this section before upgrading a machine that other people or scripts depend on.
Cookie, Authorization, Set-Cookie, and Proxy-Authorization are stripped before a request is stored and before it is forwarded to a webhook. Header and body capture now default to off for new watchers, and webhook targets must be http or https.
A /share link is public to anyone holding the token, and it was including the model's hidden chain-of-thought. It no longer does. The reasoning pane inside your own chat is unaffected.
An agent working in a single tab no longer sees the URLs of every other tab you have open.
Voice input previously shared the video server's port window and the two could collide. Video keeps 8120-8139. If you opened a firewall rule for the old range, voice input will fail to connect until the rule covers 8140-8159.
Devices on a carrier-grade NAT or a Tailscale segment can now reach a shared instance in lan mode where they were previously refused. If you were relying on lan mode as a boundary, check what sits on that range. Whitelist entries written in IPv4-mapped CIDR form are now rejected at entry rather than silently never matching.
Context Length and Progress Previews no longer had anything reading them. The Clear All conversations button was removed because, against the now-shared history, it would have deleted LLM-tab conversations too. Export All remains, and per-conversation delete works on both chat surfaces.
browser_observe_page and browser_type are now on the MCP surface, and element references are accepted by browser_click, browser_press_key, browser_type, and each field of browser_fill_form. The browser_get_tabs payload shape changed and wait_for is text-only. See the MCP Server reference.
Template generation, the AI-chat agent, sub-agents, and timed tasks now send the same anti-repetition settings the main chat already used. Generated text will not match previous runs byte for byte, and a model that falls into a verbatim loop is cut off rather than running to the token limit.
These ship in 1.6 but have not finished hardening. They are listed here so you know they exist and what their limits are, not because we think they are done.
An AI build flow for your own chat tools, running in a sandbox that reaches only the network it declares. The builder tools default to off and a published tool ships disabled until you switch it on. This is the first code-execution surface in LumaBrowser, so treat anything you build with it as code you are responsible for reviewing.
Speech in and speech out using local models. Echo handling and endpointing are still being tuned. There is no whisper binary release for macOS, so in practice voice input is Windows and Linux today.
Music generation is present but has not been exercised against a real server, so treat it as a preview rather than a feature you should plan around. It is also demanding: Windows requires WSL2, macOS is not supported, and the model needs roughly 34 GB of VRAM on a single card and a download in the tens of gigabytes.
A second machine on your network can lend its GPUs to a model running on the first. Both switches are off by default and should stay that way unless you need it: the transport carries no authentication and no encryption, so use it only between machines you own on a network you control. It is not safe to run across an untrusted network. Borrowed GPUs run the language model only, one borrower at a time, on NVIDIA cards.
Still beta. It builds and installs working extensions, and it is not yet something we would put in front of a production workflow unattended.
LumaBrowser is free to download and runs local models with no account and no API key. Read the API reference if you want to drive it from your own code.