
TL;DR
A Huawei-Queen's study finds open coding models fine-tuned under OpenHands degrade sharply under other scaffolds - SWE-Lego-Qwen3-32B drops from 52.6% to 8.4% Pass@1 on OpenCode. The fix: train planning as a model capability, not a scaffold artifact.
Open coding agents have converged on a single training environment, and that is quietly breaking them everywhere else. Trajectory datasets used to fine-tune open models - SWE-Gym, Nebius, SWE-Lego, CoderForge - are collected almost exclusively under OpenHands. The models trained on those traces score well under OpenHands and degrade substantially anywhere else. A new paper from Huawei Canada and Queen's University measures the gap, isolates the cause, and shows it can be fixed by training planning as a model capability instead of relying on the harness to supply it.
The headline number is brutal. SWE-Lego-Qwen3-32B scores 52.6% Pass@1 on SWE-bench Verified under OpenHands, the scaffold it was trained under. Deployed under OpenCode, it collapses to 8.4%. The same model family's untrained base, Qwen3-32B, shows no such divergence: 29.0% under OpenHands, 23.2% under Claude Code, 18.4% under OpenCode, 8.0% under mini-swe-agent. The base model's spread across scaffolds is far smaller than the fine-tuned model's, which tells you the gap is installed by fine-tuning, not fixed by the scaffold interface.
The paper's central claim is that what fine-tuning installs is a scaffold's planning conventions, in two distinct senses.
Explicit planning is the pre-execution step where a model produces a plan as a first-class artifact before acting. Claude Code has this as Plan Mode, OpenCode as its Plan agent. OpenHands distributes planning across its CodeAct cycle instead of concentrating it in a dedicated stage, and mini-swe-agent, a deliberately minimal ~100-line bash-only scaffold, has no explicit planning structure at all.
Implicit planning is the structural behavior every scaffold imposes on the agent loop turn by turn: how work decomposes into sub-steps, when exploration gives way to action, how tool calls sequence, how failures trigger replanning. A model trained under one scaffold learns that scaffold's blend of the two, and deployment under another exposes the mismatch. Underneath the surface differences, all CLI scaffolds share a ReAct-style act/observe loop, so the capacity is there - what the model lacks under a non-training scaffold is familiarity with its planning conventions.
To test the hypothesis, the authors built DCAS, a backend-substitution interception layer that routes API traffic between any CLI scaffold and any backend model without modifying the scaffold. That unlocks three things the ecosystem did not have: controlled cross-scaffold evaluation of the same backend model, trajectory collection that captures both senses of planning under any scaffold, and fine-tuning on those trajectories without touching the scaffold itself.
The experiments run Qwen3-Coder-30B-A3B-Instruct as the executor under Claude Code 2.0.76, with SWE-bench Verified as the benchmark and a 100-turn cap.
The first research question isolates plan quality. With no planning step, the model scores 42.8%. Let the model plan for itself: 48.2%. Plug in an open-weight planner (Qwen3-Coder-480B-A35B): 49.2%. Supply a frontier plan - Claude Sonnet 4.5 - and the same executor, same scaffold, same benchmark jumps to 57.8%, a 15-point swing attributable entirely to the plan. Plan quality scales with planner capability, and the swing exceeds the cross-scaffold drops the paper measures (SWE-Lego's 8.4-point drop from OpenHands to Claude Code). Notably, Sonnet 4.5 beats Opus 4.5 as a planner here, which the authors attribute to plans better calibrated to the executor's capability profile. The takeaway: for a fixed executor model, the plan you hand it can be worth more than the model itself.
From the archive
Aug 7, 2026 • 5 min read
Aug 7, 2026 • 7 min read
Aug 7, 2026 • 11 min read
Aug 6, 2026 • 7 min read
The second question is whether planning can be internalized. The authors fine-tune the same 30B executor on 576 two-phase trajectories collected under Claude Code via DCAS, using GLM-4.7 as the trajectory source model - deliberately not a frontier model, so any gain comes from the scaffold's planning conventions rather than distillation. Full-parameter SFT with LLaMA-Factory, 65K context, BF16.
Two dataset variants decompose the result. PlanOnly training, which captures implicit planning conventions alone, gets 53.8% Pass@1 with no planning step and gains nothing extra from a self-plan at inference - the implicit conventions are now baked into turn-by-turn behavior. Plan+Exec training, which captures both senses, gets 52.8% no-plan plus 3.0 points under self-plan, landing at 55.8% - matching or approaching the 57.8% of an external frontier planner without needing one at inference time.
The third question checks whether the capability generalizes. The fine-tuned model improves to 57.2% under a newer release of the training scaffold (Claude Code 2.1.73), and gains consistently on scaffolds it never saw during training: +3.4% on OpenCode and +7.0% on mini-swe-agent under self-plan. The learned behavior is structural, not scaffold-specific memorization.
The practical consequences land in two places. First, if you fine-tune open coding agents, your fine-tune is scaffold-locked by default. A model that crushes benchmarks under OpenHands can lose 80% of its performance under a different CLI - and practitioners choose scaffolds on cost, licensing, latency, and data-privacy constraints, not on which scaffold their preferred open model was trained under. The paper's path forward is to train planning as a structural skill on trajectories collected under scaffolds that expose the conventions you want, which is exactly what DCAS enables, with the weights and trajectory data released publicly.
Second, even without fine-tuning, the RQ1 result is a free lunch for anyone running open models in CLI scaffolds: plan quality is worth more than executor choice in this regime. If your 30B model is underperforming, the fastest lever may not be a bigger model - it may be a stronger planner supplying the plan, or simply enabling the scaffold's planning phase.
The boundaries are stated honestly. Every experiment uses SWE-bench Verified and one executor model, so the magnitude of the gains may not transfer to other scales or task types. Cross-scaffold evaluation covers OpenCode and mini-swe-agent, not Codex CLI or Gemini CLI. Pass@1 does not capture turn efficiency, and training kept only successful trajectories, which biases toward easier instances. Claude Code's closed-source nature means the scaffold itself can change under the results, which is why the authors pin exact versions and release raw trace logs.
The bigger idea is worth sitting with: the open model ecosystem bet everything on one harness, and the harness became part of the model. If planning conventions can be moved from scaffold artifact to learned capability, then the next open fine-tune can be scaffold-portable - and that changes what "open" means for coding agents, because the model you train is finally the model you can run anywhere.
Read next
A new 600-session benchmark shows coding assistants that read a user's resolved session history resolve ambiguous requests with far fewer clarifying questions - Claude Opus 4.8's first-turn success jumps from 24.3% to 60.3% when history is available.
7 min readA new 188-task benchmark for non-functional improvements finds coding agents hit 70% on functional correctness but lag humans on refactors and structural changes - the quality gap that becomes tech debt.
6 min readAutomated skill optimizers write long SKILL.md files whose credit is a black box. SkillSV attributes value to rules, examples, and scripts inside a skill: pruning to 69% of tokens without significant loss on four benchmarks.
8 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Open-source AI coding agent for terminal, desktop, and IDE. Works with 75+ LLM providers including Claude, GPT, Gemini,...
View ToolAnthropic's agentic coding CLI. Runs in your terminal, edits files autonomously, spawns sub-agents, and maintains memory...
View ToolOpenAI's coding agent for terminal, cloud, IDE, GitHub, Slack, and Linear workflows. Reads repos, edits files, runs comm...
View ToolOpen-source terminal agent runtime with approval modes, rollback snapshots, MCP servers, LSP diagnostics, and a headless...
View ToolSpec out AI agents, run them overnight, wake up to a verified GitHub repo.
View AppScore every coding agent on your own tasks. Catch regressions in CI.
View AppCompare AI coding agents on reproducible tasks with scored, shareable runs.
View AppResearcher, auditor, reviewer, and other ready-made subagent types.
Claude CodeFire when subagents spawn and finish.
Claude CodeConfigure Claude Code for maximum productivity -- CLAUDE.md, sub-agents, MCP servers, and autonomous workflows.
AI Agents
Buzz by Block: Open-Source Slack-Style Collaboration for Humans + AI Agents (Demo & Setup) Check out Arcade: https://arcade.dev.plug.dev/xiDRwlA Repo: https://github.com/block/buzz The video introd...

Build Anything with Vercel, the Agentic Infrastructure Stack Check out Vercel: https://vercel.plug.dev/cwBLgfW The video shows a behind-the-scenes walkthrough of how the creator rapidly builds and d...

Check out Trae here! https://tinyurl.com/2f8rw4vm In this video, we dive into @Trae_ai a newly launched AI IDE packed with innovative features. I provide a comprehensive demonstration...

Automated skill optimizers write long SKILL.md files whose credit is a black box. SkillSV attributes value to rules, exa...

A Michigan team measures prose SKILL.md files against compiled harnesses: agents execute only 56% of the steps their own...

A Microsoft Research analysis of 3.2M users and 761M LLM calls shows coding agent traffic is 87% agent-initiated, burns...

A placebo-controlled study on MBPP+ finds that when small code models fail, resampling from scratch beats repair loops t...

A new 600-session benchmark shows coding assistants that read a user's resolved session history resolve ambiguous reques...

Microsoft's Change2Task turns merged pull requests into verified, executable coding agent tasks: 79.6% construction succ...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.