Evaluates whether AI agents can autonomously complete 89 hard, realistic, end-to-end tasks in containerized terminal environments, using task-specific verifiers.
Source commit: 2fd12b88aafdd04a52c298e3940bcb189f9766d6Published August 3, 2026
WHAT THIS PROJECT MEASURES
README
TerminalBench evaluates agents on real terminal work: installing software, repairing repositories, transforming files, and operating system tools. Each case includes an instruction, an environment, and a verifier.
Trunchbull imports the Harbor task format and marks compatibility per case. Portable cases run in the generic Trunchbull sandbox; image-specific cases require their published environment to be deployed.
EXECUTION CONTRACT
Requires an isolated Linux sandbox. Some cases also require a task-specific container image.
TRUNCHBULL AVAILABILITY
Import status
Trunchbull port
Trunchbull packages all 89 upstream Harbor tasks as one immutable benchmark release while preserving the original project, commit, license, case metadata, and verifier assets.
Evaluates the ability to implement an adaptive rejection sampler in R with proper statistical algorithms, modular design, input validation, log-concavity checking, and formal testing.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/bn-fit-modify
bn-fit-modify
Requires sandbox
Evaluates the ability to recover a Bayesian Network DAG structure from data, perform causal interventions, and sample from the modified network.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/break-filter-js-from-html
break-filter-js-from-html
Requires sandbox
Evaluates the agent's ability to bypass an HTML sanitization filter by crafting malicious HTML that triggers JavaScript execution after filtering.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/build-cython-ext
build-cython-ext
Requires sandbox
Evaluates the ability to compile and install a Python package with Cython extensions from source while fixing NumPy 2.x compatibility issues.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/build-pmars
build-pmars
Requires sandbox
Evaluates the ability to build pMARS from Debian source packages with X11 support disabled, requiring Makefile modification and headless compilation.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/build-pov-ray
build-pov-ray
Requires sandbox
Evaluates the ability to locate, download, patch, and compile legacy POV-Ray 2.2 raytracer from 1990s source archives on a modern system.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/caffe-cifar-10
caffe-cifar-10
Requires sandbox
Evaluates the ability to install and configure BVLC Caffe 1.0.0, train a CNN on CIFAR-10 for exactly 500 iterations in CPU-only mode, and achieve specified accuracy thresholds.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/cancel-async-tasks
cancel-async-tasks
Requires sandbox
Evaluates the ability to implement async task concurrency control with proper cleanup on cancellation, including the edge case of queued tasks.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/chess-best-move
chess-best-move
Requires sandbox
Evaluates the agent's ability to analyze a chess position from an image, use a chess engine to find the best move(s), and handle multiple valid solutions.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/circuit-fibsqrt
circuit-fibsqrt
Requires sandbox
Evaluates the agent's ability to implement complex mathematical functions (Fibonacci of integer square root) using only combinational and sequential logic gates in a hardware description format.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/cobol-modernization
cobol-modernization
Requires sandbox
Evaluates the ability to reverse-engineer and reimplement a COBOL program's business logic in Python with exact output reproduction.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/code-from-image
code-from-image
Requires sandbox
Evaluates an agent's ability to extract code from an image using OCR or vision models, implement the pseudocode logic with cryptographic hashing, and produce the correct output.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/compile-compcert
compile-compcert
Requires sandbox
Evaluates the ability to build the CompCert verified C compiler from source with proper configuration for the host architecture and dependencies.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/configure-git-webserver
configure-git-webserver
Requires sandbox
Evaluates the ability to configure a Git server with automatic deployment to an nginx web server using post-receive hooks.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/constraints-scheduling
constraints-scheduling
Requires sandbox
Find an optimal 1-hour meeting slot for three people with complex availability constraints by parsing ICS calendars and applying constraint satisfaction with tie-breaking preferences.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/count-dataset-tokens
count-dataset-tokens
Requires sandbox
Evaluates the ability to count tokens in a filtered HuggingFace dataset using a specific tokenizer.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/crack-7z-hash
crack-7z-hash
Requires sandbox
Evaluates the ability to crack a password-protected 7z archive using John the Ripper and extract secret contents.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/custom-memory-heap-crash
custom-memory-heap-crash
Requires sandbox
Evaluates the ability to debug and fix a C++ program that crashes in release mode due to a static initialization order issue with custom memory allocators and STL locale facets.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/db-wal-recovery
db-wal-recovery
Requires sandbox
Tests the ability to decrypt an XOR-encrypted SQLite WAL file and recover complete database contents including write-ahead log changes.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/distribution-search
distribution-search
Requires sandbox
Tests the ability to find a probability distribution satisfying precise dual KL divergence constraints through numerical optimization.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/dna-assembly
dna-assembly
Requires sandbox
Evaluates the ability to design PCR primers for Golden Gate assembly by applying molecular biology knowledge and bioinformatics tools to meet complex cloning constraints.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/dna-insert
dna-insert
Requires sandbox
Evaluates the ability to design PCR primers for site-directed mutagenesis by analyzing plasmid sequences and applying molecular biology constraints on primer length and melting temperature.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/extract-elf
extract-elf
Requires sandbox
Evaluates ability to parse ELF binary format and extract memory values from executable sections using Node.js.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/extract-moves-from-video
extract-moves-from-video
Requires sandbox
Evaluates the agent's ability to download a YouTube video, extract text commands through OCR or transcription, and produce a formatted text file with 90% accuracy.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/feal-differential-cryptanalysis
feal-differential-cryptanalysis
Requires sandbox
Evaluates the ability to implement differential cryptanalysis on a FEAL-like cipher to recover a round key through chosen plaintext attacks.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/feal-linear-cryptanalysis
feal-linear-cryptanalysis
Requires sandbox
Evaluates the ability to perform linear cryptanalysis on a FEAL-like cipher to recover encryption keys from known plaintext-ciphertext pairs.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/filter-js-from-html
filter-js-from-html
Requires sandbox
Evaluates the agent's ability to create a robust XSS filter that removes JavaScript from HTML files while preserving legitimate HTML structure and content.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/financial-document-processor
financial-document-processor
Requires sandbox
Evaluates OCR, document classification, financial data extraction from mixed JPG/PDF documents, and CSV generation with totals.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/fix-code-vulnerability
fix-code-vulnerability
Requires sandbox
Evaluates the ability to identify and fix a CRLF injection vulnerability (CWE-93) in HTTP header handling code by adding input validation to reject control characters.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/fix-git
fix-git
Requires sandbox
Evaluates the ability to recover lost Git commits from a detached HEAD state and merge them back into the master branch.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/fix-ocaml-gc
fix-ocaml-gc
Requires sandbox
Evaluates ability to debug and fix a runtime crash in the OCaml garbage collector's C implementation, requiring low-level debugging skills and understanding of compiler internals.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/gcode-to-text
gcode-to-text
Requires sandbox
Tests the agent's ability to extract and decode text from a 3D printer G-code file by parsing movement commands, rendering them visually, and performing OCR.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/git-leak-recovery
git-leak-recovery
Requires sandbox
Evaluates the ability to recover secrets from unreachable git objects and completely remove them from repository history while preserving legitimate commits.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/git-multibranch
git-multibranch
Requires sandbox
Evaluates the ability to set up a Git server with SSH authentication, implement post-receive hooks for automated multi-branch deployment, and configure Nginx to serve branch-specific content over HTTPS.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/gpt2-codegolf
gpt2-codegolf
Requires sandbox
Evaluates the ability to implement a minimal, dependency-free C program that performs GPT-2 inference from TensorFlow checkpoints in under 5000 bytes.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/headless-terminal
headless-terminal
Requires sandbox
Implement a Python class that provides a headless terminal interface supporting interactive bash shells, modifier keys, startup file sourcing, and state persistence between commands.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/hf-model-inference
hf-model-inference
Requires sandbox
Evaluates the ability to download a Hugging Face transformer model, create a Flask API for sentiment analysis, and run the service in the background with proper error handling.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/install-windows-3.11
install-windows-3.11
Requires sandbox
Evaluates the ability to configure and run Windows 3.11 in QEMU with VNC display, web interface, and programmatic keyboard control for automated testing.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/kv-store-grpc
kv-store-grpc
Requires sandbox
Evaluates the ability to build and deploy a gRPC-based key-value store server with Protocol Buffers, including service definition, code generation, implementation, and background process management.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/large-scale-text-editing
large-scale-text-editing
Requires sandbox
Evaluates the ability to efficiently transform a 1-million-row CSV file using keystroke-efficient Vim macros with strict command restrictions.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/largest-eigenval
largest-eigenval
Requires sandbox
Evaluates the agent's ability to optimize eigenvalue computation by implementing a faster alternative to numpy's default algorithm while maintaining mathematical correctness.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/llm-inference-batching-scheduler
llm-inference-batching-scheduler
Requires sandbox
Implement a shape-aware batching scheduler for static-graph LLM inference that optimally packs requests into batches while meeting strict performance thresholds on cost, latency, and padding.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/log-summary-date-ranges
log-summary-date-ranges
Requires sandbox
Evaluates the ability to analyze date-stamped log files, calculate counts across multiple date ranges, and generate structured CSV output.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/mailman
mailman
Requires sandbox
Evaluates the ability to configure a functional mailing list server by integrating postfix and mailman3 with proper join/leave/announce workflows.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/make-doom-for-mips
make-doom-for-mips
Requires sandbox
Evaluates ability to cross-compile the DOOM game engine for MIPS architecture using LLVM toolchain and verify execution in a JavaScript emulator.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/make-mips-interpreter
make-mips-interpreter
Requires sandbox
Implement a complete MIPS interpreter in JavaScript that can execute a DOOM ELF binary, handle system calls, and render the first game frame correctly.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/mcmc-sampling-stan
mcmc-sampling-stan
Requires sandbox
Evaluates the ability to implement and run a hierarchical Bayesian model using R and Stan, including package installation, model specification with custom priors, MCMC sampling configuration, and posterior inference.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/merge-diff-arc-agi-task
merge-diff-arc-agi-task
Requires sandbox
Evaluates git bundle merging, conflict resolution, and ARC-AGI style pattern recognition by requiring agents to fetch two git bundles, merge branches, and implement a generalizable transformation function from input/output examples.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/model-extraction-relu-logits
model-extraction-relu-logits
Requires sandbox
Extracts hidden layer weights from a black-box ReLU neural network by querying outputs and identifying critical points where neurons activate.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/modernize-scientific-stack
modernize-scientific-stack
Requires sandbox
Evaluates the ability to migrate legacy Python 2.7 scientific computing code to modern Python 3 with proper dependencies and data processing.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/mteb-leaderboard
mteb-leaderboard
Requires sandbox
Evaluates the ability to research and identify the best-performing embedding model on the Scandinavian MTEB leaderboard using data science tools and techniques.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/mteb-retrieve
mteb-retrieve
Requires sandbox
Evaluates the agent's ability to perform semantic text retrieval using MTEB embeddings, computing cosine similarities and correctly ranking documents to find the 5th most similar match to a query.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/multi-source-data-merger
multi-source-data-merger
Requires sandbox
Evaluates an agent's ability to merge multi-format data sources (JSON, CSV, Parquet) with inconsistent schemas, applying field mappings and priority-based conflict resolution to produce standardized outputs.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/nginx-request-logging
nginx-request-logging
Requires sandbox
Evaluates the ability to install and configure Nginx with advanced request logging, rate limiting, and custom error pages.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/openssl-selfsigned-cert
openssl-selfsigned-cert
Requires sandbox
Evaluates an agent's ability to generate self-signed TLS certificates using OpenSSL, manage cryptographic keys with proper permissions, and create verification scripts.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/overfull-hbox
overfull-hbox
Requires sandbox
Evaluates the ability to fix LaTeX overfull hbox warnings by replacing words with valid synonyms while satisfying compilation and constraint requirements.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/password-recovery
password-recovery
Requires sandbox
Evaluates an agent's ability to perform digital forensics by recovering a deleted password from fragmented data within a disk image using command-line tools.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/path-tracing
path-tracing
Requires sandbox
Evaluates the ability to reverse-engineer and implement a path tracing renderer in C by analyzing a reference image and recreating it algorithmically.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/path-tracing-reverse
path-tracing-reverse
Requires sandbox
Evaluates the ability to reverse-engineer a compiled path tracing renderer and recreate functionally identical C source code under size constraints.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/polyglot-c-py
polyglot-c-py
Requires sandbox
Create a single polyglot source file that computes Fibonacci numbers when executed as both Python 3 and C code.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/polyglot-rust-c
polyglot-rust-c
Requires sandbox
Evaluates the ability to write a polyglot program that compiles and runs correctly as both Rust and C++ code, computing Fibonacci numbers.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/portfolio-optimization
portfolio-optimization
Requires sandbox
Evaluates the ability to implement a high-performance C extension for Python that performs portfolio risk and return calculations at least 1.2x faster than a pure Python baseline while maintaining numerical accuracy.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/protein-assembly
protein-assembly
Requires sandbox
Evaluates the ability to design a fusion protein gBlock by querying bioinformatics APIs, selecting proteins based on spectral properties, and applying codon optimization with GC content constraints.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/prove-plus-comm
prove-plus-comm
Requires sandbox
Evaluates the ability to complete an incomplete Coq proof of addition commutativity using inductive reasoning and formal verification tactics.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/pypi-server
pypi-server
Requires sandbox
Evaluates the ability to create a Python package, build it, set up a local PyPI server, and make the package installable from the server.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/pytorch-model-cli
pytorch-model-cli
Requires sandbox
Evaluates the ability to convert PyTorch model weights to JSON, implement neural network inference in C, and create a command-line tool for MNIST digit prediction.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/pytorch-model-recovery
pytorch-model-recovery
Requires sandbox
Evaluates the ability to reverse-engineer a PyTorch Transformer model architecture from a state dictionary, load pre-trained weights, and selectively fine-tune specific layers to improve performance on a dataset.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/qemu-alpine-ssh
qemu-alpine-ssh
Requires sandbox
Evaluates the ability to start an Alpine Linux VM in QEMU and configure SSH server access with proper networking and authentication.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/qemu-startup
qemu-startup
Requires sandbox
Evaluates the agent's ability to configure and start a QEMU virtual machine with telnet-accessible serial console, requiring knowledge of QEMU command-line options, network configuration, and system readiness verification.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/query-optimize
query-optimize
Requires sandbox
Evaluates the ability to optimize a slow SQL query with correlated subqueries by rewriting it using CTEs and window functions while preserving exact output.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/raman-fitting
raman-fitting
Requires sandbox
Evaluates the ability to fit Lorentzian curves to Raman spectroscopy data, extract peak parameters, and perform scientific data analysis using Python.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/regex-chess
regex-chess
Requires sandbox
Evaluates the ability to implement a complete chess move generator using only regular expression transformations on FEN notation.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/regex-log
regex-log
Requires sandbox
Tests the ability to construct a complex regular expression that matches dates in log lines containing valid IPv4 addresses while handling edge cases and boundary conditions.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/reshard-c4-data
reshard-c4-data
Requires sandbox
Evaluates the ability to create Python scripts for bidirectional data resharding with file size and directory constraints, using proper dependency management.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/rstan-to-pystan
rstan-to-pystan
Requires sandbox
Evaluates the ability to convert an RStan Gaussian Process script to functionally equivalent PyStan 3.10.0 code, including complex installation, hyperparameter mapping, and numerical verification of posterior estimates.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/sam-cell-seg
sam-cell-seg
Requires sandbox
Evaluates the ability to implement a histopathology image segmentation pipeline using MobileSAM to convert rectangular cell masks to precise polyline contours.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/sanitize-git-repo
sanitize-git-repo
Requires sandbox
Evaluates the ability to identify and sanitize sensitive API keys and tokens from a Git repository by replacing them with placeholders without modifying unrelated files.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/schemelike-metacircular-eval
schemelike-metacircular-eval
Requires sandbox
Evaluates the ability to implement a metacircular evaluator in Scheme that can interpret itself and a comprehensive suite of Scheme programs.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/sparql-university
sparql-university
Requires sandbox
Evaluates the ability to write complex SPARQL queries with multiple constraints, aggregations, and date filtering against an RDF knowledge graph.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/sqlite-db-truncate
sqlite-db-truncate
Requires sandbox
Evaluates the ability to recover data from a corrupted SQLite database using binary file analysis and data recovery techniques.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/sqlite-with-gcov
sqlite-with-gcov
Requires sandbox
Evaluates the ability to compile SQLite from source with gcov instrumentation and make it available in the system PATH.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/torch-pipeline-parallelism
torch-pipeline-parallelism
Requires sandbox
Evaluates the ability to implement pipeline parallel training for LLaMA using PyTorch distributed primitives with all-forward-all-backward scheduling.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/torch-tensor-parallelism
torch-tensor-parallelism
Requires sandbox
Evaluates the ability to implement tensor parallelism for PyTorch linear layers with correct weight sharding, distributed forward/backward passes, and gradient computation across multiple processes.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/train-fasttext
train-fasttext
Requires sandbox
Train a FastText text classification model on Yelp review data that achieves >0.62 accuracy while staying under 150MB in size.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/tune-mjcf
tune-mjcf
Requires sandbox
Evaluates the ability to optimize MuJoCo physics simulation parameters to achieve a 40% speedup while maintaining physical accuracy within specified tolerances.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/video-processing
video-processing
Requires sandbox
Evaluates the ability to build a computer vision script that analyzes hurdle jump videos and extracts takeoff/landing frame numbers using OpenCV.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/vulnerable-secret
vulnerable-secret
Requires sandbox
Evaluates the agent's ability to analyze a binary executable, identify and exploit a buffer overflow vulnerability to bypass authentication, and extract a hidden secret flag.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/winning-avg-corewars
winning-avg-corewars
Requires sandbox
Evaluates the ability to write a competitive CoreWars Redcode warrior that achieves specific win rates against five diverse opponent strategies.
sandbox.filessandbox.commandssandbox.processes
terminal-bench/write-compressor
write-compressor
Requires sandbox
Evaluates the agent's ability to reverse-engineer a custom compression format and write a compatible compressor program.
sandbox.filessandbox.commandssandbox.processes
3 REQUESTED TOOLS
Tools
3
sandbox.files
sandbox
Read, write, move, list, and inspect files inside the lease.
Required
sandbox.commands
sandbox
Execute bounded commands inside the isolated environment.