September 2026

Introducing Real-SWE

Benchmarking frontier AI models on private, real-world, enterprise codebases.

01Introduction

Today we are releasing Real-SWE, a benchmark that evaluates frontier AI models on private, real-world, enterprise codebases. Each task comes from a private production codebase that we licensed from a real-world company. These are problems their engineers work on, with all the context and complexity that comes with an existing product.

  • Private codebases. Agents must navigate proprietary systems whose code and solutions aren’t available on the public internet.
  • Work with business consequences. Getting billing right, calculating taxes, migrating customers. Changes that affect how a business runs, often across multiple services.
  • Company-specific complexity. Every company has its own rules and ways of writing code. Agents have to understand those conventions and make changes that work with what’s already there.

Can a coding agent actually do the work of a software engineer in the real world?

  1. 1
    Fable 5.1
    Claude Code
    Resolution rate: 38.8%
  2. 2
    GPT-6 Astra
    Codex CLI
    Resolution rate: 33.8%
  3. 3
    GLM 5.3
    Claude Code
    Resolution rate: 28.8%
  4. 4
    Grok 4.6
    Grok Build
    Resolution rate: 23.8%
  5. 4
    Muse Spark 1.3
    Muse Code
    Resolution rate: 23.8%
  6. 6
    Kimi K3
    Kimi Code
    Resolution rate: 18.8%
  7. 7
    GPT-5.6 Sol
    Codex CLI
    Resolution rate: 16.2%
Resolution rate is equivalent to pass@1, averaged over eight independent runs per task. 95% confidence intervals are shown.

Expert-generated or synthetic tasks can be well designed, but they aren’t the verbatim, actual tasks that engineers in real companies need to do. Our tasks differ on two axes: the underlying coding artifact and specificity of the instruction. Both add complexities that challenge today’s frontier models.

We use native harnesses to reflect how enterprise engineers work in practice, evaluating model-and-harness combinations rather than models in isolation.

Real company tasks require company-specific context

Correct billing depends on business rules and external services

Fix invoice billing so each business charges the right tax and exempt customers aren't taxed.

View full instruction

Billing reopens on Monday and every invoice this service issues is coming out untaxed. Each business on the platform settles its tax a different way: some maintain a rate themselves, some want each invoice priced against the buyer's destination by our tax authority provider, and some collect nothing at all, while a customer we hold an exemption for is charged nothing whichever way its business is configured. Pricing a destination means going to the authority with both addresses, the priced lines and the product category that business sells under, on the sandbox or the production authority according to the account the business is on; an address the authority refuses must be reported without stopping the invoice. The rate, the tax and the gross belong on the issued invoice, and once an invoice is settled the sale is filed back to the authority under that invoice's number so the returns reconcile. Invoices between European parties show both sides' VAT registrations. The authority and ledger are available at TAX_JAR_URL, PROD_TAX_JAR_URL and INFLUX_URL.

Services in the sandbox
  • TaxJar sandbox
  • TaxJar production
  • InfluxDB ledger
  • NestJS service
  • TypeScript

Agents work across code, infrastructure, and business tools

Tools and services across Real-SWE task environments. Each task exposes only the services its workflow needs.

  • AWS emulator
  • Docker
  • Kubernetes
  • GitHub
  • Linear MCP
  • PostgreSQL
  • MySQL
  • MongoDB
  • Gel
  • Redis
  • Go
  • Python
  • Node.js
  • Vitest
  • Slack
  • Intercom
  • Google Drive
  • Email
  • ClickUp

Codebase Selection

We selected codebases through a rigorous screening process, focusing on real companies with substantial usage, strong engineering teams, and demanding production workloads. The sample tasks analyzed below come from these codebases, including:

  • A Luma/Partiful competitor with 200K+ users and a top 100 App Store ranking
  • A consumer fintech platform processing 100K+ bank statements
  • Enterprise AI sales platforms supporting complex business workflows

We prioritize code written to meet an actual user or business need over code written solely to create a benchmark task. Production engineering requires understanding existing architecture, preserving behavior that users rely on, and making changes within real operational constraints.

Brief instructions can require changes across many files

Our tasks describe the change needed, leaving agents to discover implementation details in the codebase and surrounding tools. Any behavior required by the verifier must be stated or reasonably discoverable. This leads to our prompts being slightly underspecified, about par with DeepSWE and Terminal Bench, but specific enough to not omit instructions.

The work is cross-functional and complex: a single change can span multiple parts of the application. Agents must understand existing business logic and company coding patterns while keeping the surrounding system working.

Prompt length · median

A typical Real-SWE instruction is 1,742 characters.

  • FrontierCode2,056 chars
  • DeepSWE1,975 chars
  • Terminal-Bench 31,584 chars
  • FrontierSWE v2992 chars
  • Real-SWE1,742 chars
Files edited by the reference solution · median

11 files in Real-SWE, compared with 6 in FrontierCode and DeepSWE.

  • FrontierCode6
  • DeepSWE6
  • Real-SWE11
All figures are medians. FrontierCode and DeepSWE use Cognition's published comparison; FrontierCode includes task descriptions and codebase guidelines. We measured instruction files from Terminal-Bench 3's 74 tasks, FrontierSWE v2's 34 tasks, and Real-SWE's eight repository-backed sample tasks. Character counts are rounded to the nearest whole character. No comparable files-edited figure is included for Terminal-Bench 3 or FrontierSWE v2.

Models fail even in short rollouts.

71.1% of rollouts under 10 minutes failed, compared with 74.3% of longer rollouts.

Triaging multiple systems and understanding requirements in codebases riddled with existing business logic and coding patterns is difficult.

Under 10 min
Under 10 min: 69 failed (71.1%) and 28 passed (28.9%), out of 97 rollouts.

69/97 failed

10 min or longer
10 min or longer: 344 failed (74.3%) and 119 passed (25.7%), out of 463 rollouts.

344/463 failed

  • Failed
  • Passed

Every task is inspired or lifted verbatim from a private, real-world codebase. We find these types of tasks super interesting for three reasons:

  1. Tasks on private codebases are natively out of distribution. These types of coding tasks are not available anywhere on the internet and are unlikely to have ever been trained on by any other ai model. 99% of tokens in real-world enterprises are hidden away from the frontier models.
  2. These tasks are economically viable work. Each task here has a direct relationship to spend and was assigned to an engineer earning a salary. Most benchmarks test interesting, experimental capabilities that are often unlikely to be widespread in the real-world.
  3. Company-specific engineering patterns matter. Does AI code match the bar of a real-world enterprise? Our results show us that we're far from that reality. Many enterprises care about code standards and patterns. We've found that today's models are weaker at understanding company coding patterns and frequently miss requirements or don't verify their assumptions.

02Analysis

Here's an analysis of a small sample of tasks from our benchmark. If you're interested in the sample, request access here.

Half the tasks have resolution rates below 15%

TaskFable 5.1GPT-6 AstraGLM 5.3Grok 4.6Muse Spark 1.3Kimi K3GPT-5.6 SolResolution rate
Multi-region sweep
7/8
8/8
2/8
3/8
8/8
2/8
5/8
62.5%
API keys & environments
8/8
5/8
5/8
4/8
6/8
0/8
7/8
62.5%
Entitlement overage lines
8/8
7/8
3/8
1/8
1/8
6/8
1/8
48.2%
Customer identity migration
3/8
1/8
4/8
8/8
3/8
4/8
0/8
41.1%
API token metering
1/8
5/8
1/8
0/8
0/8
1/8
0/8
14.3%
S3 datastore measurement
0/8
0/8
3/8
2/8
1/8
1/8
0/8
12.5%
Billing schedule migration
3/8
1/8
2/8
0/8
0/8
1/8
0/8
12.5%
Linearizable scan
0/8
0/8
2/8
1/8
0/8
0/8
0/8
5.4%
Tax jurisdiction
1/8
0/8
1/8
0/8
0/8
0/8
0/8
3.6%
Analytics stream reducer
0/8
0/8
0/8
0/8
0/8
0/8
0/8
0.0%
Each task had 8 rollouts per model.

Missed requirements are the most common failure

Each failed run has one recorded outcome backed by its trajectory and verifier evidence. Model-failure labels follow the taxonomy in DeepSWE.

Fable 5.1
24.5%
36.7%
34.7%
4.1%
GPT-6 Astra
34.0%
28.3%
34.0%
3.8%
GLM 5.3
28.1%
38.6%
26.3%
7.0%
Grok 4.6
24.6%
67.2%
8.2%
Muse Spark 1.3
19.7%
36.1%
41.0%
3.3%
Kimi K3
15.4%
53.8%
27.7%
3.1%
GPT-5.6 Sol
43.3%
31.3%
16.4%
9.0%
Unverified assumptionMissed requirementIntegration errorRegressionWrong file

No model solves every task

One square per rollout: each row is a task, each column a trial, eight trials per task for every model.

Fable 5.1
01
02
03
04
05
06
07
08
09
10
GPT-6 Astra
01
02
03
04
05
06
07
08
09
10
GLM 5.3
01
02
03
04
05
06
07
08
09
10
Grok 4.6
01
02
03
04
05
06
07
08
09
10
Muse Spark 1.3
01
02
03
04
05
06
07
08
09
10
Kimi K3
01
02
03
04
05
06
07
08
09
10
GPT-5.6 Sol
01
02
03
04
05
06
07
08
09
10
PassUnverified assumptionMissed requirementIntegration errorRegressionWrong file

Different models fail in different ways

Percentages are out of each model's failed runs, not all runs.

Unverified assumption

Builds on a guess about the system instead of checking it in the workspace.

  • GPT-5.6 Sol43.3%: 29 of 67 failed runs
  • GPT-6 Astra34.0%: 18 of 53 failed runs
  • GLM 5.328.1%: 16 of 57 failed runs
  • Grok 4.624.6%: 15 of 61 failed runs
  • Fable 5.124.5%: 12 of 49 failed runs
  • Muse Spark 1.319.7%: 12 of 61 failed runs
  • Kimi K315.4%: 10 of 65 failed runs
Missed requirement

Ships a working change but leaves out something the instruction stated.

  • Grok 4.667.2%: 41 of 61 failed runs
  • Kimi K353.8%: 35 of 65 failed runs
  • GLM 5.338.6%: 22 of 57 failed runs
  • Fable 5.136.7%: 18 of 49 failed runs
  • Muse Spark 1.336.1%: 22 of 61 failed runs
  • GPT-5.6 Sol31.3%: 21 of 67 failed runs
  • GPT-6 Astra28.3%: 15 of 53 failed runs
Integration error

Right idea, wired into the surrounding system incorrectly.

  • Muse Spark 1.341.0%: 25 of 61 failed runs
  • Fable 5.134.7%: 17 of 49 failed runs
  • GPT-6 Astra34.0%: 18 of 53 failed runs
  • Kimi K327.7%: 18 of 65 failed runs
  • GLM 5.326.3%: 15 of 57 failed runs
  • GPT-5.6 Sol16.4%: 11 of 67 failed runs
  • Grok 4.68.2%: 5 of 61 failed runs
Regression

Breaks existing behavior while making the change.

  • GPT-5.6 Sol9.0%: 6 of 67 failed runs
  • Fable 5.14.1%: 2 of 49 failed runs
  • GPT-6 Astra3.8%: 2 of 53 failed runs
  • Muse Spark 1.33.3%: 2 of 61 failed runs
  • GLM 5.30%: 0 of 57 failed runs
  • Grok 4.60%: 0 of 61 failed runs
  • Kimi K30%: 0 of 65 failed runs
Wrong file

Delivers the change somewhere the running application never calls, such as a one-off script.

  • GLM 5.37.0%: 4 of 57 failed runs
  • Kimi K33.1%: 2 of 65 failed runs
  • Fable 5.10%: 0 of 49 failed runs
  • GPT-6 Astra0%: 0 of 53 failed runs
  • Grok 4.60%: 0 of 61 failed runs
  • Muse Spark 1.30%: 0 of 61 failed runs
  • GPT-5.6 Sol0%: 0 of 67 failed runs

03Effort & the Frontier

Higher cost does not guarantee a higher resolution rate

Estimated frontier
Resolution rate (%)1015202530354045$2$3$5$10Cost / rollout ($, log scale)GPT-5.6 Sol: 16.2% · $2.65; Codex CLI7Muse Spark 1.3: 23.8% · $2.74; Muse Code5Grok 4.6: 23.8% · $3.44; Grok Build; incomplete usage, actual cost may be higher4Kimi K3: 18.8% · $3.90; Kimi Code; incomplete usage, actual cost may be higher6GPT-6 Astra: 33.8% · $4.67; Codex CLI2GLM 5.3: 28.8% · $5.12; Claude Code3Fable 5.1: 38.8% · $6.96; Claude Code1
  1. 1Fable 5.138.8% · $6.96
  2. 2GPT-6 Astra33.8% · $4.67
  3. 3GLM 5.328.8% · $5.12
  4. 4Grok 4.623.8% · $3.44
  5. 5Muse Spark 1.323.8% · $2.74
  6. 6Kimi K318.8% · $3.90
  7. 7GPT-5.6 Sol16.2% · $2.65

Estimated rollout costs range from $2.65 to $6.96

RankModelEstimated cost (USD)
1GPT-5.6 Sol$2.65
2Muse Spark 1.3$2.74
3Grok 4.6$3.44
4Kimi K3$3.90
5GPT-6 Astra$4.67
6GLM 5.3$5.12
7Fable 5.1$6.96
mean per rollout, by task
0100k200k300k400k01020304050607080910taskEntitlement overage lines · Fable 5.1: 34kMulti-region sweep · Fable 5.1: 30kTax jurisdiction · Fable 5.1: 78kAPI token metering · Fable 5.1: 95kAPI keys & environments · Fable 5.1: 71kS3 datastore measurement · Fable 5.1: 62kCustomer identity migration · Fable 5.1: 67kBilling schedule migration · Fable 5.1: 26kLinearizable scan · Fable 5.1: 86kAnalytics stream reducer · Fable 5.1: 88kEntitlement overage lines · GPT-6 Astra: 13kMulti-region sweep · GPT-6 Astra: 13kTax jurisdiction · GPT-6 Astra: 24kAPI token metering · GPT-6 Astra: 31kAPI keys & environments · GPT-6 Astra: 32kS3 datastore measurement · GPT-6 Astra: 22kCustomer identity migration · GPT-6 Astra: 25kBilling schedule migration · GPT-6 Astra: 15kLinearizable scan · GPT-6 Astra: 33kAnalytics stream reducer · GPT-6 Astra: 29kEntitlement overage lines · GLM 5.3: 68kMulti-region sweep · GLM 5.3: 53kTax jurisdiction · GLM 5.3: 141kAPI token metering · GLM 5.3: 177kAPI keys & environments · GLM 5.3: 125kS3 datastore measurement · GLM 5.3: 121kCustomer identity migration · GLM 5.3: 90kBilling schedule migration · GLM 5.3: 58kLinearizable scan · GLM 5.3: 172kAnalytics stream reducer · GLM 5.3: 169kEntitlement overage lines · Grok 4.6: 7kMulti-region sweep · Grok 4.6: 3kTax jurisdiction · Grok 4.6: 12kAPI token metering · Grok 4.6: 15kAPI keys & environments · Grok 4.6: 16kS3 datastore measurement · Grok 4.6: 13kCustomer identity migration · Grok 4.6: 20kBilling schedule migration · Grok 4.6: 6kLinearizable scan · Grok 4.6: 261kAnalytics stream reducer · Grok 4.6: 315kEntitlement overage lines · Muse Spark 1.3: 36kMulti-region sweep · Muse Spark 1.3: 43kTax jurisdiction · Muse Spark 1.3: 67kAPI token metering · Muse Spark 1.3: 152kAPI keys & environments · Muse Spark 1.3: 104kS3 datastore measurement · Muse Spark 1.3: 71kCustomer identity migration · Muse Spark 1.3: 76kBilling schedule migration · Muse Spark 1.3: 38kLinearizable scan · Muse Spark 1.3: 141kAnalytics stream reducer · Muse Spark 1.3: 137kEntitlement overage lines · Kimi K3: 30kMulti-region sweep · Kimi K3: 9kTax jurisdiction · Kimi K3: 39kAPI token metering · Kimi K3: 69kAPI keys & environments · Kimi K3: 44kS3 datastore measurement · Kimi K3: 32kCustomer identity migration · Kimi K3: 66kBilling schedule migration · Kimi K3: 19kLinearizable scan · Kimi K3: 71kAnalytics stream reducer · Kimi K3: 55kEntitlement overage lines · GPT-5.6 Sol: 12kMulti-region sweep · GPT-5.6 Sol: 8kTax jurisdiction · GPT-5.6 Sol: 22kAPI token metering · GPT-5.6 Sol: 31kAPI keys & environments · GPT-5.6 Sol: 25kS3 datastore measurement · GPT-5.6 Sol: 25kCustomer identity migration · GPT-5.6 Sol: 24kBilling schedule migration · GPT-5.6 Sol: 13kLinearizable scan · GPT-5.6 Sol: 37kAnalytics stream reducer · GPT-5.6 Sol: 30k
Fable 5.1 · 64k overallGPT-6 Astra · 24k overallGLM 5.3 · 117k overallGrok 4.6 · 67k overallMuse Spark 1.3 · 87k overallKimi K3 · 43k overallGPT-5.6 Sol · 23k overall

04Evaluation Setup

Each agent was run in an isolated sandbox. All tasks are in Harbor format, and verifiers are injected at grading time. The verifiers are inspired by existing test suites in the codebase or use those tests verbatim.