Product Launch · Xiaohu Reads It

Unsloth Desktop is here: run local models, train them, and fine-tune them right on your computer

Free and open source, available on Mac / Windows / Linux. Drag a file in to fine-tune — no code required.
60-second summary
  • Unsloth turned its signature trick — "2x faster training, 70% less VRAM" — into a desktop app.
  • Other local tools let you run models; this one lets you train them. Drag in a PDF or spreadsheet and it starts fine-tuning, no code needed.
  • Both headline numbers are missing half the story; I've filled in the caveats below. And the limitation they wrote themselves is worth more attention than the numbers.
⚑ Source: official Unsloth docs. All performance figures are vendor self-reported, with no third-party verification. Hardware prerequisites and missing context are noted where I found them. Product is self-labeled Beta.
Opening

Local model apps are everywhere — ones that can train are not

Unsloth released its desktop app on August 11: Unsloth Desktop, in Beta, free and open source, available on Mac, Windows, and Linux. Its pitch: the first desktop app that both runs local models and trains them. Drop in a PDF, CSV, or JSON and fine-tune without writing a single line of code.

Apps that run models on your computer have been around for a while — install, click, chat. The hard part was always the other half: teaching a model with your own data meant setting up a Python environment, wrestling with GPU drivers and VRAM limits. Most people gave up right there.

The 47-second launch video, hitting the highlights: deep research reports with citations, batch image and video generation, a page for hooking Claude Code up to a local model, a model hub — and it ends on a card: local, secure, open source. (From Unsloth's official account; re-encoded and self-hosted by us.)
The backstory

And Unsloth's specialty was always making training faster and cheaper

Anyone who fine-tunes models knows the name. Unsloth started as an open-source framework that made fine-tuning faster, and its banner numbers have been up for a long time: 2x faster, 70% less VRAM, no loss in accuracy. 70k stars on GitHub (verified by us).

What is fine-tuning?

Take an existing large model and train it a bit more on your own data, so it understands your specific domain.

It's like hiring a capable newcomer and spending a month showing them your company's old files — after that, they know the ropes.

The training features in the desktop app are that same engine, moved into a GUI. The same code repo now describes itself as a "local interface for running and training models."

The core

So dragging a file in really does start the fine-tune — no code

Drop in a PDF, CSV, or JSON and you're off. Three training modes: LoRA, which attaches a small patch and leaves the base model untouched; full fine-tuning, which updates the whole model; and pretraining from scratch. Multi-GPU is supported, and text, image, diffusion, and audio models all train.

What is LoRA?

Instead of modifying the base model, LoRA trains a small "patch" that sits alongside it. It's fast and light on VRAM. The finished patch is only tens of MB, and you can swap it out anytime.

Like changing the lens on a camera — the body stays, only the glass in front changes.

Your data PDF / CSV / JSON Pick a method LoRA (patch) Full fine-tune From scratch A patch Base model untouched Just tens of MB Swappable anytime
Our diagram: with LoRA, what you get is a small, hot-swappable patch — the base model stays exactly as it was.
The training screen: pick the model and method on the left, attach a dataset in the middle (the demo uses a pre-made Hugging Face dataset), and on the right is a live preview of the run's parameters — steps, context length, batch size, learning rate — plus your GPU model and VRAM, and a green "Start training" button at the bottom. These values shift as the demo plays; this is just one frame. (Official animated demo, re-encoded by us.)

For image models, they get specific: train your own LoRA for generators like SDXL, FLUX.2, Qwen-Image, and Z-Image, using your own images. In the built-in Studio, caption the images, pick a patch size, and hit start.

LoRA training interface: base model and training images on the left, parameters and run history on the right
The full interface for training an image LoRA. Left side: select the base model (FLUX.1-dev in the demo), a note that this config eats 16GB VRAM, and the 16 training images you dragged in. Right side: the run's parameters (500 steps, patch size 16, resolution 512) and a history of previous runs, each with its loss value and "Adapter saved" underneath.

What you train isn't locked inside this app: you can export to standard formats like GGUF or NVFP4 and take them anywhere.

The numbers

But that 13-second video generation ran on a data-center card

Unsloth gave one number for generation: with MiniMax-H3, rendering a 960×544, 124-frame, 8-step video dropped from over 70 seconds to 13 seconds.

Before

70+ seconds

After

13 seconds

The fine print on that number

This was benchmarked on an NVIDIA B200 — a data-center accelerator that costs more than several top-end desktops put together. Not in the same league as the GPU under your desk. Unsloth didn't say how long the same video takes on consumer hardware.

Generation isn't just video: FLUX, Z-Image, LTX, and Wan all run, and you can attach your own LoRAs. Besides generating from scratch, you can edit images, do regional inpainting, outpaint edges, upscale, and edit based on a reference image.

The video-generation screen: you can give it a single prompt, or specify a first and last frame and let it fill in between. The demo prompt: a lion shaking off rainwater in slow motion, bathed in golden light. (Official animated demo, re-encoded by us.)

Audio lives in the same window: speech-to-text and text-to-speech both run locally, with Whisper and Qwen3-ASR supported — and both can be trained, too.

Audio generation interface: text input on the left, generated audio player on the right
The speech-synthesis screen. Type what you want read on the left, and an audio bar appears on the right — the demo reads a 2-second Spanish phrase. The "Generate / Transcribe" tabs at the top flip the direction, and there's a "Train" button in the upper-right, meaning you can fine-tune this model yourself, too.
Another number, missing its baseline

Unsloth also claims tool-call accuracy improved by 50%. But compared to what, on what benchmark, and over how many runs? The docs don't say. Take it as a directional hint at best.

The mechanics

And the most common way local models fail is tool calling

Models running on your own machine are generally smaller than cloud models. Small models do fine at most things, but they trip over tool calls: malformed parameter formats, getting stuck in a loop retrying the same action, or spitting internal markup straight into the chat.

Unsloth has a fix for each of those three failure modes:

What does "self-healing" mean?

When a model fails a tool call, the system spots the mistake itself, corrects it, and retries — without bothering you.

Like a waiter who writes the order wrong, the kitchen catches the mismatch, checks it, and fixes it — instead of serving a dish nobody asked for.

Model wants a tool Malformed call Or stuck in a loop Auto-fix, retry once Works this time Result to you
Our diagram: the failed step no longer gets thrown back at you — it loops inside, gets fixed, and only then comes back out.

Code execution runs Bash and Python inside an isolated sandbox, so a bad run can't harm your system.

Code execution in action: the model types commands itself, reads the output, and moves on, with a "copy" and "download" button next to every command and result. (Official animated demo, re-encoded by us.)
Permissions

And for permissions, Unsloth went straight at Claude Code

This is explicitly modeled on Claude Code (Anthropic's command-line coding agent). Any model that calls tools falls under the permission system: without your approval, neither the model nor Unsloth can access or modify your files, or go online. How loose you want it is your call — four tiers.

Ask every time
Any file change or network call pauses to ask you first.
Guardrail mode
Routine calls go through; it stops to ask before high-stakes actions — touching credentials, privilege escalation, destructive commands.
Full auto
No confirmation dialogs, but every action stays inside the sandbox.
Everything goes
No confirmations at all, and the sandbox is off, too.
Tool permission settings: four levels from ask-every-time to fully open
The four tiers as they appear in the UI; the demo defaults to the second one, "Guardrail mode." The fourth tier's description reads: unrestricted, no prompts, code sandbox disabled.
Another answer to the same problem, covered here
xAI launched Grok Bot: a team of AI coworkers with their own computers, working on your behalf
Over there, the permission rules are written as natural language for another Agent to police line by line. Over here, it's four switches you flip yourself.
Integration

And you can plug Claude Code into your local model

It's a single command: launch Unsloth, load a model, open your project folder, then run

unsloth start claude

Officially supported for this: Claude Code, Codex, Hermes Agent, OpenClaw, OpenCode, and Unsloth's own interface. So you keep the coding agent you already use — you're just swapping the model doing the work from the cloud to the one on your machine.

There's also a more granular setup, shown in the launch video: instead of replacing the whole backend, you hand only some tasks to the local model. Claude Code keeps using its own model; you add one flag to the command and it gains a helper running on your machine. Then, inside Claude Code, you say something like "send a local agent to implement this function," and that sliver of work lands on your hardware. Pick your coding tool, model, and quantization level in the UI, and the command is generated for you — copy and go.

Once it's running, you don't have to sit at that desk: a free official Cloudflare tunnel gives you an HTTPS address to check progress from your phone; or keep it off the public internet and bind it to your LAN.

On your phone: the loaded model and quantization are listed at the top, and you just chat — the demo asks it to write some Python that plots a Mandelbrot set. Still running on your home machine. (Official animated demo, re-encoded by us.)

Search comes in two tiers. Regular search is the model looking things up as it goes. Deep research plans a few steps first, then hunts for what it considers the best sources, and hands back a fully cited report. Both are unlimited and both originate from your machine.

The row of toggles under the input box is stuff normal chat apps don't have: guardrail mode, deep research, search, code, thinking — each independent. The panel on the right shows deep research in action; it lists the steps it's about to take before it starts. (Official animated demo, re-encoded by us.)

Two other staples are here: attach your own document collection for Q&A (RAG), and connect to MCP servers to reach external tools. The same interface also works with cloud models — OpenAI, Anthropic, Ollama, llama.cpp, vLLM — so flipping between local and cloud doesn't mean switching apps.

The catch

And Unsloth itself wrote down when it gets slower

The FAQ has a question that reads: "Why is inference sometimes slower?" The answer, written by Unsloth itself:

Web search, code execution, and tool-call self-healing all take time. Turn them off, and the speed should match any other llama.cpp app. If it's still slow, open an issue.

Unsloth official docs · FAQ

You don't often see a vendor volunteer the conditions under which its product gets slower — and hand you the off switch in the same breath.

The same FAQ section has two more practical points: no telemetry — it only detects your GPU model and device class to know what will run, and the whole app works fully offline; and it's not GPU-only — CPU and Mac both work, with NVIDIA, Intel, AMD, and Apple chips all supported, though very old hardware may struggle. Models you've downloaded before are recognized automatically, so you don't redownload them.

Getting started

So how do you install it, and what can run it?

Three steps: download and install; pick a model and quantization from the dropdown at the top or the Model Hub tab that matches your hardware; then start typing.

What is a quantization level?

It lowers the numerical precision of the model's weights, trading a tiny bit of quality for a much smaller footprint and faster inference. The more you compress, the less VRAM you need — which is the only way smaller machines run these models at all. When you pick a level, you're choosing where to land between "runs on my machine" and "answers well."

Like compressing a lossless track to MP3 — the file gets a lot smaller, you lose a little detail, but it still sounds fine.

Model-selection dropdown with filters: recommended, on-device, all, and trending
The model picker: filter by Recommended, On this device, All, or Trending. Every model lists its size — from the 20-something-B range to 2000+ B — so you know at a glance whether it fits on this machine.
Model Hub page listing downloadable models with download and like counts
Each entry in the Model Hub carries likes and download counts; the right side shows the selected model's details — size, license, last updated. The one in the demo is 137 GB and MIT-licensed.
Free & open source
Currently Beta; no version number or release date given
Three platforms
macOS, Windows, Linux (incl. WSL)
Hardware-agnostic
GPU & CPU on NVIDIA, Intel, AMD, and Mac all supported
🧰 Getting-started card · Unsloth Desktop
PriceFree, open source (Beta)
RequirementsmacOS / Windows / Linux (incl. WSL); GPU & CPU on NVIDIA, Intel, AMD, and Mac supported; very old hardware may struggle

The launch acknowledgments thank NVIDIA and Hugging Face for their involvement, and Jan for the inspiration — plus llama.cpp, PyTorch, and stablediffusion.cpp for providing the foundation. That last line basically tells you where this interface came from.

Source
Introducing Unsloth DesktopUnsloth official docs·Original
Editor's note
All screenshots and animated demos are from official docs; the 47-second launch video is from that tweet; the five GIFs (the largest was 33 MB) were re-encoded into video and self-hosted with no visual changes. The two diagrams — the training pipeline and the self-healing loop — were drawn by us. GitHub star count pulled from the GitHub API on 2026-08-12, not from the docs. Release date from Unsloth's official account's August 11 tweet; the docs themselves give no version number or date. The hardware caveat for "13 seconds" and the missing baseline for "50% accuracy gain" are both our additions after cross-checking.