
Moonshot shipped Kimi K3.1 Pro today and the number that matters is not the parameter count. It is the release date. Full weights land on November 4. A 3T-class open-weight model with a 1-million-token context window is going to exist as a file you can download, and that is the first time this sentence has been true at this size.
Terminal-Bench is the one to watch
On Terminal-Bench 4.0, which throws coding agents at realistic resource-constrained terminal tasks and grades them with strict per-task tests, K3.1 Pro scores 65.7%. GPT-6 Astra sits at 58.2%. Claude Opus 5.5 is at 66.4%. Read that again and let the ordering settle: an open-weight model is within one point of the best closed model on agentic terminal work, and ahead of the other one.
On Kimi's own Code Bench 3.0 Long-horizon, which tests multi-step execution and tool use across engineering domains, K3.1 Pro goes from 55.95% on K3 to 61.2%. That is the gain that should interest anyone running a coding agent against a local model and hitting a wall on the fourth or fifth step of a task. The wall moved.
A million tokens is not marketing this time
The context window is the second piece. If you have ever pasted an entire monorepo into a prompt and hoped, K3.1 Pro is the release where that stops being a party trick. Long-horizon agent work means long transcripts, and long transcripts mean KV cache pressure. I do not know the VRAM footprint at the full 1M window yet, because nobody outside Moonshot has run it on consumer silicon. That is the homework waiting on November 4, and it is the part I actually care about.
The Highspeed variant is worth noting separately. Kimi says it runs at 2 to 3 times the throughput of plain K3.1 Pro. A faster variant usually means a distilled or differently served version, and for interactive coding the tradeoff is usually worth it. Both are live today on Kimi.ai, Kimi Work, Kimi Code and the API. The free path ends where the weights begin.
They removed cyber capability on purpose
This is the section I did not expect, and it deserves a careful read. Kimi states that during development they traced their own vulnerability research gains back to cyber-related content embedded in the general mid-training corpus, plus cyber-related tasks sitting in the RL environment mix. They removed that data from both stages before release. They kept general-purpose coding intact.
Then they tested the result on xdev-bench-hard, an in-house benchmark built from real, recently disclosed vulnerabilities in the Linux kernel, Node.js, JavaScriptCore, Exim and VirGL. The agent gets the vulnerable source, a short bug hint, and has to work out the rest. I think this is the right call for an open-weight release. It also means the model you download is deliberately weaker at finding holes in the exact software your servers run. Both things are true, and you should know which one you are getting.
The other numbers, briefly
On BenchCAD, which measures 3D reconstruction from multi-view renders through generated CAD code, K3.1 Pro lands at 92.7% with tools against 96.2% for Opus 5.5 and 95.9% for Astra. Close enough that the gap is unlikely to decide a project. On OfficeQA Pro v2, which covers multi-step financial document analysis, it hits 64.4. The demo I keep thinking about is the walking simulator: built on human-atlas, an open anatomical model with 296 skeletal components including cartilage and 402 muscle components, across 167 missions and 420 independent reviews, the agent got a simulated human from collapsing in seconds to walking continuously for 11.2 seconds. When reward shaping stalled on the arms, it ran open-loop probes of the simulator and found 36 errors in shoulder-muscle moment-arm calculations.
That last detail is the actual story here. Not the benchmark table. A model that diagnoses its own reward function being wrong and goes looking for the bug in the physics is doing something different from a model that scores well.
November 4 is the date. Between now and then the useful work is arithmetic: what quant level fits, how much KV cache a 1M window eats at the sequence lengths I actually use, and whether the throughput holds when the context is full rather than empty. I will be running that math before the download link appears.