cocoa-org/Mocha-Coder-32B
<h1 style=" font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif; font-size:48px; font-weight:700; line-height:1.25; text-align:center; margin:0 0 24px;"> Mocha-Coder-32B </h1>
<p style="text-align:center; margin:0 0 8px; font-size:16px;"> <a href="https://junliwang.tech/">Junli Wang</a><sup></sup> <a href="https://blankcheng.github.io/">Zhoujun Cheng</a><sup>†</sup> <a href="https://yuxuan-zhang-dexter.github.io/">Yuxuan Zhang</a><sup>*</sup> <a href="https://ber666.github.io/">Shibo Hao</a> <a href="https://yaotang23.github.io/">Yao Tang</a> <br> <a href="https://zhiting.ucsd.edu/">Zhiting Hu</a> <a href="https://prithvirajva.com/">Prithviraj Ammanabrolu</a> <a href="https://haozhang.ai/">Hao Zhang</a><sup>†</sup> </p>
<p style="text-align:center; margin:0 0 24px; font-size:14px; color:#555;"> University of California, San Diego · <sup>*</sup>Equal Contribution · <sup>†</sup>Corresponding Author </p>
<div style=" display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-bottom:28px;">
<a href="https://github.com/cocoa-org/NanoRollout" style=" display:inline-block; padding:8px 24px; background:#2b2b2b; color:#ffffff; border-radius:36px; text-decoration:none; font-weight:600; font-size:16px;"> 🧑💻 NanoRollout Code </a>
<a href="https://huggingface.co/ZeonLap/Mocha-Coder-32B" style=" display:inline-block; padding:8px 24px; background:#2b2b2b; color:#ffffff; border-radius:36px; text-decoration:none; font-weight:600; font-size:16px;"> 🤗 Mocha-Coder-32B Model </a>
<a href="https://cocoa-org.notion.site/nanorollout" style=" display:inline-block; padding:8px 24px; background:#2b2b2b; color:#ffffff; border-radius:36px; text-decoration:none; font-weight:600; font-size:16px;"> 📒 Blog </a> </div>
<div style="max-width:900px;margin:0 auto;">
Introduction
<div style=" max-width: 880px; margin: 0 auto; text-align: justify; text-justify: inter-word; line-height: 1.6;">
Mocha-Coder-32B is a strong open-data coding agent built on top of Qwen2.5-Coder-32B-Instruct. It is trained entirely through distillation on a 300K+ trajectory mixture sampled with our lightweight agent-rollout infrastructure, NanoRollout, with no reinforcement learning. The full training signal comes from frontier open-source teacher models (Qwen3-Coder-480B-A35B, Kimi-K2.5, Qwen3-Coder-Next, DeepSeek-V3.2) generating trajectories across multiple agent harnesses (OpenHands, mini-swe-agent, Terminus-2 JSON) on SWE-Rebench, SWE-Smith, and SETA.
The result is a simple but strong baseline coding agent: at the ≤32B scale, Mocha-Coder-32B is the state-of-the-art among open-data models and is competitive with much larger open-source models on agentic SWE benchmarks. </div>
Key Features
- Strong agentic SWE performance: 62.6 Pass@1 on SWE-Bench Verified, 35.3 on SWE-Bench Pro, 23.6 on Terminal-Bench 2.0, competitive with Qwen3-Coder-480B-A35B-Instruct.
- Multi-harness training: Trajectories cover OpenHands, mini-swe-agent, and Terminus-2 JSON, mitigating harness-specific overfitting.
- Open data: Distilled from a fully released 300K+ trajectory mixture (
ZeonLap/Mocha-trajectories).
Performance
SWE-Bench Verified
<div align="center">
</div>
SWE-Bench Pro
<div align="center">
</div>
Terminal-Bench 2.0
<div align="center">
</div>
Training Data
Mocha-Coder-32B is trained on a 300K+ trajectory distillation mixture, drawn from previously released distillation sets (120K) and trajectories newly generated with NanoRollout (~180K).
The full mixture is released at `ZeonLap/Mocha-trajectories`.
Running as an Agent
Mocha-Coder-32B is trained as an agent and is most useful when paired with a coding-agent harness. We have validated it with:
- mini-swe-agent — minimal SWE agent loop, recommended for SWE-Bench Verified / Pro evaluation.
- OpenHands — full-featured SWE harness; the model was trained on OpenHands trajectories.
- Terminus-2 JSON — for Terminal-Bench 2.0 style shell tasks.
Point each harness's model endpoint at the vLLM server above. For SWE-Bench Verified we report numbers at a 100-iteration budget; for SWE-Bench Pro at 250 iterations.
License
Mocha-Coder-32B (model weights, training trajectories, and code) is released under the MIT License (see LICENSE) for research, educational, and commercial use.
Citation
If you use Mocha-Coder-32B or NanoRollout in your research, please cite NanoRollout:
@misc{nanorollout,
title = {NanoRollout: A Lightweight Infra for Digital Agent Rollout at Scale},
author = {Wang, Junli and Cheng, Zhoujun and Zhang, Yuxuan and Hao, Shibo
and Tang, Yao and Hu, Zhiting and Ammanabrolu, Prithviraj
and Zhang, Hao},
year = {2026},
howpublished = {\url{https://github.com/cocoa-org/NanoRollout}},
}</div>
