SWE-bench Complex
Harbor: pendingSWE-bench Complex A contamination-free, complexity-focused evaluation set for AI coding agents.
- Samples
- N/A
- Released
- 2026
- Scores
- 0
SWE-bench Multilingual extends the original Python-focused SWE-bench benchmark to support multiple programming languages. Original benchmark: https://www.swebench.com/multilingual.html.
$ npm i -g lettokenburn-cli$ ltb bench run [email protected] --benchmark swe-bench-multilingual -a claude-code -m anthropic/claude-opus-4-8$ ltb bench push
Harbor-native: you can also call Harbor directly.
$ harbor run -d [email protected] -a claude-code -m anthropic/claude-opus-4-8
Runs happen on your machine with your own subscription; only the score summary is pushed. CLI docs
No sourced scores recorded yet.
Every number links to where it was published. Low-confidence rows are muted and need per-cell verification.
This adapter converts SWE-bench Multilingual instances into Harbor task directories.
SWE-bench Multilingual extends the original Python-focused SWE-bench benchmark to support multiple programming languages:
The adapter requires swebench>=4.1.0 which includes multilingual support. Install it in the Harbor environment:
# From Harbor root directory pip install 'swebench>=4.1.0' # Or using uv uv pip install 'swebench>=4.1.0'
Note: The datasets library is already included in Harbor's dependencies.
uv run swebench_multilingual --list-languages
# Generate all 300 instances uv run swebench_multilingual # Generate with limit uv run swebench_multilingual --limit 10
# Generate only Java tasks uv run swebench_multilingual --language java --task-dir ../../datasets/swebench_multilingual_java # Generate only JavaScript/TypeScript tasks uv run swebench_multilingual --language javascript --task-dir ../../datasets/swebench_multilingual_js
uv run swebench_multilingual --instance-id apache__druid-13704
| Option | Description | | ------ | ----------- | | --instance-id STR | Convert single instance | | --all / --no-all | Convert all instances (default: True) | | --language STR | Filter by language (java, javascript, go, rust, etc.) | | --list-languages | List all available languages and exit | | --task-id STR | Custom local task directory name | | --task-dir PATH | Output Harbor tasks root directory (defaults to datasets/swebench_multilingual) | | --timeout FLOAT | Timeout in seconds (default: 3000) | | --template-dir PATH | Override template location | | --overwrite | Overwrite existing task directories | | --limit INT | Max instances when using --all |
Each task follows the Harbor task format:
{task_id}/
├── task.toml # Harbor configuration
├── instruction.md # Problem statement with hints
├── environment/
│ └── Dockerfile # Language-specific container image
├── solution/
│ └── solve.sh # Oracle solution (applies patch)
└── tests/
├── test.sh # Test runner script
└── config.json # Raw SWE-bench metadataAfter generating tasks:
# Run with default configuration uv run harbor run -d swebench_multilingual -a terminus-2 -m "anthropic/claude-sonnet-4-5-20250929" # Or use the provided YAML config uv run harbor run -c adapters/swebench_multilingual/swebench_multilingual.yaml
The adapter supports all languages included in SWE-bench Multilingual:
| Language | Example Repos | | -------- | ------------- | | Java | Apache Druid, Google Gson, FasterXML Jackson | | JavaScript | Various JS projects | | TypeScript | Various TS projects | | Go | Kubernetes ecosystem, Docker tools | | Rust | Rust ecosystem projects | | C | Redis, curl, git | | C++ | gRPC, various libraries | | PHP | Laravel, Symfony | | Ruby | Rails, Jekyll |
datasets - HuggingFace datasets libraryswebench>=4.1.0 - SWE-bench harness with multilingual supportThis adapter has been validated through parity experiments comparing Harbor's implementation against direct evaluation using the run_codex.py standalone script on the original SWE-bench Multilingual dataset.
@openai/[email protected])Both Harbor and run_codex.py use identical configurations:
| Configuration | Harbor | run_codex.py | | ------------- | ------ | ------------ | | Agent | Codex CLI | Codex CLI | | Codex Version | @openai/[email protected] | @openai/[email protected] | | Node.js | v22 (nvm v0.40.2) | v22 (nvm v0.40.2) | | API Key Method | auth.json + env | auth.json + env | | Environment | Daytona cloud | Daytona cloud | | Docker Images | swebench official | swebench official | | Test Harness | swebench grading | swebench grading |
run_codex.py Implementation DetailsSWE-bench/SWE-bench_Multilingual test split and supports either explicit --instance_ids, random/top-k subsets, or a fixed 50-task parity subset from parity_50_task_ids.txt via --parity_subset.make_test_spec, formats a metadata-rich prompt (task + hints + repo/version/commit), then runs Codex inside /testbed after installing Node.js 22 and @openai/codex@latest.$CODEX_HOME/auth.json plus env vars), runs codex exec with --json, --enable unified_exec, and timeout control, then writes agent.log, <instance_id>.patch, and <instance_id>.pred.get_logs_eval/get_eval_tests_report, then aggregates results into `run_summary.