You want a private agent that stays up on your desk: plans multi-step work, calls tools, recovers when a call fails, and never ships your files to a cloud API. That’s the pitch Meta made with Muse Glimmer – a ~30B open model built for always-on local agent loops – and HN / LocalLLaMA lit up within hours of the August 10, 2026 drop.
Finish this guide with a quantized build answering on your machine, one system-prompt dial for reasoning strength, and the three day-one traps that waste most first installs.
What you’re actually running
~29.6B dense multimodal weights from Meta Superintelligence Labs, distilled from Muse Spark, Apache 2.0. The HF model card lists a 52-layer decoder (hidden size 6656), a ~1.8B ViT-G/14 perception encoder, 131K+ context, text+image in / text out, knowledge cutoff January 4, 2026, 100+ languages.
BF16? Figure 55-60 GB. The whole point of the release is the quant path: language model under ~20 GB so a 24 GB or 32 GB box still has headroom for KV, vision, and an optional DFlash drafter. With the K-Quant-17GB build plus drafter, Meta’s card shows about 233 tok/s on an RTX 5090 (vs ~75 without speculation) and roughly 38-50 tok/s on M4/M5 Max class silicon.
MCP Atlas 75.5. DeepSearch QA 74.6. SWE-Bench Pro 51.2 on high reasoning – Meta’s launch table vs Gemma4-31B and Qwen3.6-27B in-band. Scaffold-sensitive numbers, not a blank check. Training targets were long-horizon completion, tight tool schemas, and failure recovery (diagnose a bad tool result, retry, don’t freeze).
There’s already a quiet split: some people treat this as “dense 30B is back,” others note it doesn’t sweep every row against Qwen. If you care about tool loops more than pure chat vibes, model shape beats winning every leaderboard cell.
Pick a path and get it answering
Unsloth’s day-one GGUF notes put Dynamic 4-bit near 17 GB total, 2-bit nearer 12-14 GB. Meta’s envelopes, as of the August 2026 card: K-Quant-17GB → 24 GB class, Dynamic → 32 GB, full precision → 64 GB class. Start text-only. Vision and drafter come after the baseline stops crashing.
Sampling once, then stop repeating it: temperature 1.0, top_p 0.95, top_k 64 (model card + vLLM recipe). Put Reasoning strength: high or xhigh on its own system-prompt line for multi-step work; low/medium for snappy chat.
Path A – LM Studio (fastest GUI)
- Install current LM Studio Bionic (day-0 catalog support per LM Studio’s launch post).
- Explore → search Muse Glimmer → download a quant that fits RAM/VRAM.
- Apply the sampling defaults above.
- Start the local server if you want OpenAI-compatible clients on
localhost.
Fine if you only need chat plus light agenting and refuse to compile anything.
Path B – llama.cpp / Unsloth GGUF
Grab a post-merge llama.cpp binary first. Fresh weights on an old build throw unknown model architecture: 'muse-glimmer' – support landed around launch (community thread on the Unsloth GGUF repo; llama.cpp PR era). Update before you blame the file.
# after a fresh llama.cpp build with your GPU backend
./llama-cli
--model Muse-Glimmer-30B-UD-Q4_K_XL.gguf
--mmproj mmproj-BF16.gguf
--temp 1.0 --top-p 0.95 --top-k 64
Or let llama.cpp pull a HF quant – Unsloth’s UD-Q4_K_XL is the usual default. API shape:
./llama-server
--model Muse-Glimmer-30B-UD-Q4_K_XL.gguf
--mmproj mmproj-BF16.gguf
--port 8001
Skip --mmproj until you need screenshots or docs-as-images. Pure text agents don’t pay for that file.
Path C – vLLM when tools are the product
vllm serve meta-models/Muse-Glimmer-30B
--enable-auto-tool-choice
--tool-call-parser muse_glimmer
--reasoning-parser muse_glimmer
--generation-config auto
Wire-up detail sits in the vLLM Muse Glimmer recipe. Miss those parsers and “tool turns” look like broken markup soup.
Funny thing about desk agents: the model is the easy half. The boring half is which tools you’ll actually allow to run unattended at 2 a.m. – and whether you still want that after the first bad shell suggestion.
Make it behave like an always-on agent
The catch vs plain chat 30Bs:
ATEM tool format, not OpenAI JSON. Emits look like XML-ish blocks (<atem:function_calls> / <atem:invoke>); reasoning rides channel-scoped markers, not a lone <think> tag. Meta’s notes: markup isn’t strict XML, and params can still carry structured values. Generic tool_calls[].function scrapers miss everything. Use a runtime with muse_glimmer parsers, or write one thin adapter and reuse it.
Failure recovery was a training target. Feed tools clear error strings. A 403 or empty MCP payload mid-plan should trigger diagnose-and-retry, not a polite surrender.
Memory math on 24 GB. ~17 GB main GGUF is not the full bill. Community component sizes put mmproj and the DFlash drafter each around ~1.4-1.6 GB on top of KV. 128K + vision + drafter on a full 24 GB card? You’ll OOM or thrash. Start 8K-16K for agent traces, prove text-only, then enable drafter, then raise context only when the task pays rent. Block-diffusion / verify-in-parallel design is in the DFlash paper (arXiv:2602.06036).
Scaffold match. Meta calls out OpenClaw-style and similar loops. Local coding agents that already speak OpenAI-compatible endpoints can aim at LM Studio or llama-server once sampling and the reasoning-strength line are set. Irreversible tools stay behind human confirmation – local weights don’t sandbox a shell for you.
Honest limits before you rebuild your stack
- Weak VRAM still hurts. Sub-16 GB boxes can try 2-3 bit quants; agent quality and long context die first.
- Benches are scaffold-tied. Meta’s table helps. Qwen still wins several rows. Reproduce on your tools before migrating production loops.
- Safety isn’t “done.” Model-card agentic security figures (prompt-injection style suites) are non-zero. Loopback binds, tool allowlists, call logs.
- Greedy decoding fights this model. vLLM’s recipe flags non-reproducible completion lengths even with a fixed seed under greedy / temp 0. Stay on the recommended sampling unless you’ve measured a reason not to.
- Open weight ≠ full open recipe. Apache 2.0 on weights is generous; training data and full pipeline aren’t in the box. Read Meta’s usage policy if you ship commercially.
Primary sources when you leave smoke-test land: Meta’s research blog announcement and Unsloth’s run + quant guide while binaries settle.
FAQ
Can Muse Glimmer really run on a single consumer GPU?
Yes – quantized. Meta’s K-Quant-17GB target is the ~24 GB envelope after KV and optional extras. Full BF16 on 24 GB? No.
Why do my tools never fire even though the model “talks about” calling them?
You’re parsing for OpenAI-style JSON function calls. Muse Glimmer emits ATEM invoke blocks and channel-scoped turns. Wrap a weather MCP and only watch tool_calls[].function and you’ll get prose or raw markup – nothing executes. Fix the parser (vLLM/LM stacks with muse_glimmer support), don’t just nudge temperature.
Is this better than Qwen3.6 27B for local agents?
Depends which row you care about. On Meta’s launch table Glimmer leads several agentic / tool-heavy scores (MCP Atlas, DeepSearch QA) while Qwen takes others (parts of terminal coding, some multimodal). HN already frames it as a trade-off with a strong tool-calling flavor, not a universal crown. For always-on private agents with vision and long retries, run Glimmer on your real scaffold for a weekend and keep Qwen as the A/B control. One chart won’t decide your stack.
Next move: pull a 4-bit GGUF that fits, load text-only, set the sampling defaults and Reasoning strength: high, then run one multi-step task against a single local tool you already trust. Check resident memory before you touch mmproj or DFlash.