arrow_backAI Prototypesanalyticseval · research

Claude Code Coding Eval

A 25-task benchmark testing how Claude models handle real developer work: fixing bugs, adding features, refactoring, and following vague instructions.

leaderboardSonnet 4.6 18/25 (72%) · Haiku 4.5 19/25 (76%)

Why this benchmark exists

HumanEval is saturated

Models score 90%+ - it can't discriminate between frontier models anymore. Also likely contaminated.

SWE-bench is complex

2,294 tasks across 12 Python repos. Useful but expensive to run and conflates retrieval skill with coding skill.

None test the loop

No major benchmark tests whether a model asks for clarification, handles ambiguity, or catches multi-step bugs.

Overall scores · 25 tasks

Three-model comparison

Last run: July 3, 2026

Claude Haiku 4.5↑ top

76%

19 / 25 tasks

Claude Sonnet 4.6

72%

18 / 25 tasks

By category

Where each model leads and lags

CategoryHaikuSonnet 4.6

Bug Fixing

5 tasks

4/5

80%

3/5

60%

Feature Addition

5 tasks

5/5

100%

5/5

100%

Refactor

5 tasks

5/5

100%

5/5

100%

Ambiguous Instructions

5 tasks

0/5

0%

0/5

0%

Multi-step Debug

5 tasks

5/5

100%

5/5

100%

Key finding

Haiku 4.5 outscored Sonnet 4.6 on these tasks, 76% to 72%. Both models aced feature addition and refactoring. The sharpest finding was ambiguity handling: neither model asked a single clarifying question across all 5 ambiguous tasks. Both picked an interpretation and ran with it, every time.

Failure analysis

How models fail, not just that they fail

✗

Wrong fix

Code was changed but the bug or requirement is still not met. The model diagnosed the symptom, not the cause.

↩

Regression

Fixed the target issue but broke something that was previously working. Most common in refactor tasks.

⊘

Spec misread

Solved a different problem than what was asked. Particularly common when instructions reference an error message.

?

Silent assumption

Made a judgment call on an ambiguous task without flagging it. The biggest differentiator between tiers: Sonnet 4.6 surfaces ambiguity more reliably than Haiku.

!

Non-running

Returned code that doesn't execute: syntax error, missing import, or malformed output.

Methodology

How this was built

•

25 tasks across 5 categories, adapted from real developer patterns rather than contest puzzles.

•

Each task was run 3 times at temperature 0.2. A task is marked passed only if 2 out of 3 runs succeed.

•

Ambiguous tasks are graded on whether the model acknowledged the ambiguity, not on code output.

•

Two models compared: Claude Haiku 4.5 (fast and cheap tier) vs Claude Sonnet 4.6 (advanced tier).

•

Code is graded by running it against hidden test assertions using Python exec() in an isolated namespace.

v2 - what I'd build next

This eval is single-shot: one attempt, then stop. That's not how real Claude Code usage works. A v2 would wrap these same 25 tasks in a feedback loop - the model reads files, runs code, sees what broke, and keeps trying. That's a cleaner test of how coding agents actually behave in practice, without the infrastructure overhead of SWE-bench.

Other additions worth making: TypeScript tasks alongside Python, system prompt experiments to reduce silent assumptions on ambiguous tasks, and auto-scaling difficulty by model tier.

fluid

Ankit's AI Assistant

Ask anything about Ankit

Hey! I'm Ankit's AI Assistant, ask me anything about his work, experience, or skills. How can I help?