open-source

MiniMax M3 self-hosted: holds up on refactors, chokes on long context

Ran MiniMax M3 locally against Qwen3-Coder and GLM-5.1. Strong on scoped refactors, weak on long context. A solid second model, not a daily driver.

Short version: MiniMax M3 is a real contender for local coding, but it's not a clean win over GLM-5.1 or Qwen3-Coder-Next. On single-file refactors and writing fresh functions it's right there in the top tier. On anything that needs the full repo in context, it degraded faster than I expected. I'd keep it as a second model, not my daily driver.

It landed in June 2026 and immediately got slotted next to GLM-5.1, Kimi K2.6, DeepSeek V4 and Qwen3-Coder-Next in the open-weight rankings. That's the company it's keeping, per the roundup of current open models I pulled it from. Fine. I ran it against the two I actually use.

Does it actually hold up on real code?

Yes, for bounded tasks. I gave all three the same set: rewrite a 200-line Python module to async, generate a typed client from an OpenAPI spec, and fix a gnarly off-by-one in a date-range bucketing function.

M3 nailed the async rewrite on the first pass — correctly propagated `await`, didn't forget to convert the test fixtures, and didn't hallucinate an `asyncio.run` where I already had an event loop. Qwen3-Coder needed one nudge. GLM-5.1 matched M3 here.

The typed-client generation was a wash. All three produced compiling code. M3's was the most readable, GLM-5.1's the most paranoid with validation.

What broke?

Long context. I run it quantized (4-bit GGUF) on a single 48GB card, and once I pushed past ~40K tokens of actual repo content, M3 started losing track of symbols it had seen 15K tokens earlier. It re-imported a function it had already imported, and renamed a class halfway through a multi-file edit. Qwen3-Coder-Next held the thread noticeably longer on the same hardware and the same quant.

The other gotcha: tool-call formatting. M3 emits clean JSON most of the time, but under load it occasionally wraps the call in a markdown fence, which broke my agent loop until I added a fence-stripping pass. GLM-5.1 never did this in my runs.

Throughput was fine — comparable to Qwen at the same quant, no surprises there.

Should you use it?

If you already self-host and you want variety in your model rotation, grab it. It's genuinely good at scoped edits and clean generation. But if you can only run one local model and you do whole-repo agentic work, Qwen3-Coder-Next is still the safer pick for context length, and GLM-5.1 is more disciplined on tool output. M3 is a strong addition, not a replacement.

Verdict: keep it on the bench as a specialist. Not my default, but I'll reach for it on focused refactors.

FAQ

What hardware did you test on? A single 48GB GPU running the 4-bit GGUF quant. Your mileage will differ at higher precision or with more VRAM — the long-context degradation may ease up at fp8 or with the full weights.

Is M3 better than Qwen3-Coder-Next? For short, bounded edits they're close. For long-context agentic work across many files, Qwen held the thread better in my tests. Pick based on your workload.

Does the tool-call fence bug make it unusable for agents? No, but you'll want a fence-stripping guard in your parser. It's a one-line fix, just don't get surprised by it the way I did.