v2.5.9: Four Create Categories on Your Own GPU, and a Rebuilt Coding Agent
Locally Uncensored 2.5.9 is a correctness release. Most of what is in it was things that looked like they worked and did not: a setup card that spun forever, a coding agent that rewrote whole files to change one line, three video models whose pipelines could never have produced a single frame. The two headline items are the four Create categories that now genuinely run on your own GPU, and a coding agent that was taken apart and put back together.
Quick TL;DR before we dig in:
- Talking Character, Music, Extend Video and Motion Control install and run locally, with a download you can watch, cancel and resume
- Coding agent overhaul: surgical edits instead of whole-file rewrites, fresh verify results, real context sizes
- Security: two command injection paths in the coding agent are closed. If you use the agent, update
- Remote access works with LM Studio, Lemonade and llama.cpp, not only Ollama
- Removed: CogVideoX (both) and Pyramid Flow. They never ran. Nothing is deleted from your disk
- LU Cloud renders are kept seven days, then deleted. Download what you want to keep
Four Create Categories, Running Locally
Talking Character, Music, Extend Video and Motion Control each have a local lane: in Local mode they build a ComfyUI graph out of core node families and run on your card, no hosted endpoint involved. The lanes themselves arrived in 2.5.8. What 2.5.9 fixes is the part that decides whether you ever get to use them, which is getting the model files onto your disk.
Before this release, pressing Download & install on one of those cards gave you a spinner and nothing else. No file name, no size, no percentage, no speed, no entry in the Downloads tray, and no way to stop it. Now:
- The card names the file it is fetching and counts it up, with size and speed
- The download shows up in the Downloads tray like any other download
- Cancel exists and really stops the transfer
- A dropped connection no longer throws away what already arrived. A failed file retries by itself and each retry continues where the last one stopped, instead of restarting at zero. The old behaviour was a raw "Stream error: error decoding response body" and a dead end
- The Downloads tray closes itself again instead of sitting over the app reading "No active downloads"
Two smaller things in the same area were quietly costing people renders. The Motion Control card kept insisting you "add a character image and a driving dance/pose video above" while both were loaded and the render was already running, and the image and video tools could not see GGUF models at all, because they only read the two ComfyUI loaders that list .safetensors files. Several catalogue bundles ship as GGUF, so you could install one, watch it finish, ask for a picture, and be told nothing was installed. Both fixed.
The Coding Agent, Rebuilt
The coding agent was rebuilt in the places that were quietly burning turns. The headline change is a surgical file_edit tool: it changes the lines you asked for instead of rewriting the whole file, which is both faster and far less likely to lose something on the way through.
The rest of the pass, in order of how often it bit people:
- Verify loops no longer serve stale shell, test and read results from the same turn, so "did my change work" gets a fresh answer
- Context compaction stopped truncating code you had just read to 80 characters
num_ctxis no longer pinned to 8192, so a 32k model actually gets its context- The tool router stopped sending "search", "current" and "latest" to the web when you meant the codebase
- Diffs show deletions,
.lurulesactually loads, and stage-and-approve applies in a real folder instead of failing silently - Sub-agents no longer collide on tool call ids, which used to produce a cloud 400 whenever a turn used the same tool twice
- Plus
run_testsauto-detect, encoding flags, atomic writes, parallel git safety, an iteration cap, and an embedding cache keyed by model
One permission fix belongs here too. "Confirm shell & code commands" is how you tell the agent to stop asking, and on an LU Cloud model it did nothing at all: the confirm dialog was hard-wired on and the switch had no effect. Confirming on a cloud model is still the right default, so it stays the default, but it is a switch you own now. Turn the main confirm off and a second option appears for cloud models specifically.
Security: Two Command Injections Closed
This release closes two command injection paths in the coding agent, both found during its security pass. In both cases text that the agent had merely read could escape the quoting around it and be executed as a shell command, and neither path went through a confirmation dialog. The trigger did not have to come from you: a poisoned file, a pull request comment or a search result was enough.
The fixes: quoting now follows the shell that actually runs on your platform rather than assuming one, pull request links are validated against the characters GitHub itself permits, and both paths are pinned by regression tests. We are not publishing the payloads.
Remote Access Beyond Ollama
Remote access forwarded everything to Ollama. That was invisible if Ollama was your backend and total if it was not: a desktop running LM Studio, Lemonade or llama.cpp answered your phone with an empty model list and a 400 on every chat.
The remote server now translates between the Ollama-shaped requests the phone sends and an OpenAI compatible backend, including streaming, tool calls, vision and reasoning. Set up your desktop with whichever backend you prefer and the phone follows.
Create still stays on the desktop. Remote sessions are text and coding, and the remote access guide says so now instead of promising image generation it could not deliver.
Three Video Models Are Gone, and Why
CogVideoX (both sizes) and Pyramid Flow have been removed from the catalogue. Not deprecated, not paused: removed, because they could never have produced a video. Their pipelines were built against ComfyUI node names that no version of the wrappers we pointed you at actually registers. Every generation came back as an error, and the install check looked for an invented node too, which is why a correct install was told to go and install what it already had. Between them, those entries offered 46 GB of downloads for that. Allegro is closed for the same reason.
Two things worth stating plainly:
- Nothing is deleted from your disk. If you already downloaded a CogVideoX or Pyramid Flow model, the files stay exactly where they are. They are simply no longer offered in the catalogue
- Wan 2.1 and 2.2, LTX, SVD, FramePack, Hunyuan, Mochi and Cosmos are unaffected. The removal is specific to pipelines that were wired to node names that do not exist
The same honesty pass took the COMING SOON covers off AnimateDiff v3, Mochi and Cosmos. That badge came from a flag somebody forgot to set, not from anything being unfinished, and their download buttons worked fine underneath the dimmed cover the whole time. Every model in the catalogue now downloads, installs and generates. Error messages also quote model names that exist: the "no video model" message used to send people hunting for a Wan 2.1 entry under a name the Model Manager does not use, and the SVD message did the same. Both now name the entry exactly as the catalogue lists it.
Cloud Renders Are Kept Seven Days
If you use LU Cloud: renders are kept for seven days and then deleted. Cloud mode now says so once, in Create, with a download reminder. This is enforced on the server, not just written on a page. Local generation is untouched by this. Anything you rendered on your own GPU lives in your own gallery for as long as you keep it.
Hardware, Honestly
The audience for these lanes is every tier of card, and the copy in the app says so. That cuts both ways. The heavy 14B video lanes, Talking Character and Motion Control in particular, are genuinely slow on smaller GPUs even at low step counts. Nobody is served by pretending otherwise.
What you do about it is the per-lane Frame, Size and Step controls sitting right in the lane. Fewer frames, a smaller output and fewer steps trade quality for time, and on a modest card that trade is the difference between a clip and a timeout. The lighter options are real options, not consolation prizes: Music starts around 4 GB, and Motion Control has a light Wan VACE 1.3B path next to the 14B one. Where a lane needs a node pack your box does not have, it says which one instead of failing silently.
Smaller Fixes Worth Naming
- A failed image no longer counts as a delivered one. When ComfyUI returned a 400 or a 500, the image tool handed the error text back as though it were a result: it burned the turn's image budget so the model could not retry, wrote the error into long-term memory, and told the model "the image is now displayed to the user" directly next to the error saying it was not. Models believed that line and built the rest of the conversation on a picture that never existed. Failures are marked as failures everywhere now, and instead of "Task completed: 1 failed" you get the actual reason and a way to retry
- Read-aloud reaches the Piper voice you picked. A cold-start probe could cache a false result for a whole session, so every read-aloud quietly fell back to a Windows SAPI voice no matter what you had selected
- The Edit tab says what it is. It is called Edit / Image to Image now, and the wording makes plain image-to-image obvious: load a source image, leave the mask empty, and it restyles the whole picture. Paint an area and it edits just that. The old name sounded like it was for touch-ups only
- Image generation is no longer locked to Ask on desktop, and video generation has a permission row at all. Both settings existed in the agent but not in the interface
- The interface lost its em-dashes. Labels, tooltips, errors and onboarding text now read the way the rest of LU is written
Download
2.5.9 is on GitHub Releases, with installers for Windows and Linux. The signed auto-update channel picks it up on next launch if you are already on 2.5.x. New here? The getting started guide takes you from installer to first generation.
Related
- How to generate AI videos locally, the setup walkthrough for the video lanes
- Local AI on your phone, what remote access does and does not do
- Image to image with local AI, the tab that just got a clearer name
- v2.4.0 release notes, the previous release write-up on this site
Locally Uncensored 2.5.9. AGPL-3.0 licensed. Built by PurpleDoubleD. Bug reports and feature requests on GitHub Issues or in the Discord.