Moonshot AI Releases Kimi K2.7-Code: a Coding Model Reporting +21.8% on Kimi Code Bench v2 Over K2.6

This week, Moonshot AI released Kimi K2.7-Code. It is a coding-focused, agentic model. The model weights ship on Hugging Face under a Modified MIT license. You can also reach it through the Kimi API and Kimi Code.

K2.7-Code targets long-horizon software engineering, not general chat. It plans, edits, runs tools, and debugs across many steps. Moonshot pairs the model with a subscription coding platform around it.

Kimi K2.7-Code

K2.7-Code is a Mixture-of-Experts model. It holds 1T total parameters and activates 32B per token. The design uses 384 experts, with 8 selected per token and 1 shared. It has 61 layers, including 1 dense layer.

Attention uses MLA, and the feed-forward path uses SwiGLU. A MoonViT vision encoder adds 400M parameters for image and video input. The model ships with native INT4 quantization. The context window is 256K tokens (262,144).

Two constraints matters: Thinking mode is mandatory; disabling it returns an API error. Sampling is fixed: temperature 1.0, top_p 0.95, n 1, penalties 0.0. Default max output is 32,768 tokens.

You can self-host with vLLM, SGLang, or KTransformers. The Hugging Face repository is large, roughly 595 GB on disk. This is a server-class deployment target, not a laptop model.

Benchmark

Moonshot team published six benchmark rows. They compare K2.7-Code against K2.6, GPT-5.5, and Claude Opus 4.8. K2.7-Code beats K2.6 on every row. The largest coding jump is Kimi Code Bench v2, from 50.9 to 62.0.

Benchmark Kimi K2.6 Kimi K2.7-Code GPT-5.5 Claude Opus 4.8 K2.7 vs K2.6
Kimi Code Bench v2 50.9 62.0 69.0 67.4 +21.8%
Program Bench 48.3 53.6 69.1 63.8 +11.0%
MLS Bench Lite 26.7 35.1 35.5 42.8 +31.5%
Kimi Claw 24/7 Bench 42.9 46.9 52.8 50.4 +9.3%
MCP Atlas 69.4 76.0 79.4 81.3 +9.5%
MCP Mark Verified 72.8 81.1 92.9 76.4 +11.4%

K2.7-Code does beat Opus 4.8 on MCP Mark Verified, 81.1 versus 76.4. It also lands close to GPT-5.5 on MLS Bench Lite. K2.7-Code ran in Kimi Code CLI, GPT-5.5 in Codex xhigh, and Opus 4.8 in Claude Code xhigh.

Reasoning-Token Efficiency: A Cost Claim, Not Just Quality

Moonshot team reports about 30% lower reasoning-token usage than K2.6. It frames this as ‘less overthinking.’

Reasoning tokens bill as output tokens on most price cards. Agentic coding runs hundreds or thousands of steps. Each plan, retry, and verification pays the thinking cost again. A 30% cut compounds across a long run.

The effect lands in three places at once. First, lower output-token cost per task. Second, faster steps, which helps interactive CLI sessions. Third, more steps before hitting context limits.

Use Cases With Examples

  • Repo-scale refactors are the main use case. Point the agent at a failing test suite. It reads files, edits across modules, then reruns tests until green.
  • Code review is a second fit. Feed a pull request diff and ask for risk analysis. The 256K window holds large diffs, logs, and related files together.
  • MCP tool-use workflows are a third fit. K2.7-Code scored 81.1 on MCP Mark Verified. That suite tests correct tool invocation through the Model Context Protocol. Think CI checks, ticket updates, and file edits in one loop.
  • Long-context analysis is a fourth fit. The model accepts text, image, and video input. Documentation, screenshots, and a recorded repro can share one prompt.

Marktechpost’s Interactive Explorer

Kimi K2.7-Code — Interactive Explorer

Company-reported benchmarks and official API pricing. Released June 12, 2026. Verified June 12, 2026.
Benchmarks
Cost Calculator
Specs

Source: Moonshot AI Kimi K2.7-Code model card. K2.7-Code ran in Kimi Code CLI; GPT-5.5 in Codex xhigh; Claude Opus 4.8 in Claude Code xhigh. First-party numbers, not an independent leaderboard.






Input cost$0.00
Output cost$0.00
Est. monthly total$0.00
$0.00

Rates: cached input $0.19 / 1M, cache-miss input $0.95 / 1M, output $4.00 / 1M (official Kimi pricing). Savings line illustrates K2.7-Code’s reported ~30% lower reasoning-token usage vs K2.6, applied to the reasoning share of output. Estimate only.

Source: Kimi K2.7-Code Hugging Face model card and Kimi API docs.

‘;
models.forEach(function(m){
h+=’


+’

‘+m.name+’


+’

‘;
});
wrap.innerHTML=h;charts.appendChild(wrap);
});

function renderBars(){
benches.forEach(function(b,i){
models.forEach(function(m){
var el=root.querySelector(‘#f-‘+i+’-‘+m.key);
var parent=el.closest(‘.k27-row’);
if(!active[m.key]){parent.style.display=’none’;el.style.width=’0′;return;}
parent.style.display=’flex’;
el.style.width=b[m.key]+’%’;
el.textContent=b[m.key].toFixed(1);
});
});
}
setTimeout(renderBars,60);

// —- specs —-
var sp=root.querySelector(‘#k27-specs’);
specs.forEach(function(s){
var d=document.createElement(‘div’);d.className=’k27-spec’;
d.innerHTML=’

‘+s[0]+’
‘+s[1]+’

‘;
sp.appendChild(d);
});

// —- calculator —-
var R_CACHE=0.19, R_MISS=0.95, R_OUT=4.00; // per 1M tokens
function fmt(n){return ‘$’+n.toLocaleString(‘en-US’,{minimumFractionDigits:2,maximumFractionDigits:2});}
function comma(n){return n.toLocaleString(‘en-US’);}
var I={inp:root.querySelector(‘#k27-in’),out:root.querySelector(‘#k27-out’),
cache:root.querySelector(‘#k27-cache’),runs:root.querySelector(‘#k27-runs’),
think:root.querySelector(‘#k27-think’)};

function calc(){
var inp=+I.inp.value, out=+I.out.value, cache=+I.cache.value/100,
runs=+I.runs.value, think=+I.think.value/100;
root.querySelector(‘#k27-in-v’).textContent=comma(inp);
root.querySelector(‘#k27-out-v’).textContent=comma(out);
root.querySelector(‘#k27-cache-v’).textContent=(cache*100).toFixed(0)+’%’;
root.querySelector(‘#k27-runs-v’).textContent=comma(runs);
root.querySelector(‘#k27-think-v’).textContent=(think*100).toFixed(0)+’%’;

var inRate=cache*R_CACHE+(1-cache)*R_MISS;
var inCost=runs*inp*inRate/1e6;
var outCost=runs*out*R_OUT/1e6;
var total=inCost+outCost;

// illustrative 30% reasoning-token reduction on the reasoning share of output
var reasonOut=out*think;
var saved=runs*(reasonOut*0.30)*R_OUT/1e6;

root.querySelector(‘#k27-r-in’).textContent=fmt(inCost);
root.querySelector(‘#k27-r-out’).textContent=fmt(outCost);
root.querySelector(‘#k27-r-total’).textContent=fmt(total);
root.querySelector(‘#k27-r-big’).textContent=fmt(total)+’ /mo’;
root.querySelector(‘#k27-r-save’).innerHTML=
‘≈ ‘+fmt(saved)+’/mo saved vs K2.6-style reasoning, from ~30% fewer reasoning tokens.’;
}
Object.keys(I).forEach(function(k){I[k].addEventListener(‘input’,calc);});
calc();
})();