AWS Strands Harness: 77% Cheaper Agent Than Claude Code AWS's Strands team released Strands Harness v0.1.0 on September 21, an open-source agent that costs $56.29 per task versus Claude Code's $248.05 on Terminal-Bench 2.1 using the same Fable 5 model, with 69.7% accuracy versus Claude Code's 61.8%. The 77% cost reduction comes from context management — truncating tool outputs over roughly 1,500 tokens, compacting at 85% context capacity, and in-loop overflow recovery — rather than a better model, and AWS reported Strands Harness used 28% fewer tokens than other harnesses across six benchmarks (ALFWorld, ContextBench, GAIA, WebShop, τ³-bench, and Terminal-Bench 2.1). The Python 3.10+ and TypeScript (Node.js 20+) SDK ships under Apache 2.0, defaults to Amazon Bedrock, and supports Anthropic, OpenAI, Google, Ollama, and LiteLLM, positioning it for batch automation rather than interactive coding. AWS’s Strands team released Strands Harness v0.1.0 on September 21 — a fully assembled, open-source agent that costs $56 per task versus Claude Code’s $248 on Terminal-Bench 2.1 https://www.marktechpost.com/2026/09/21/aws-strands-agents-team-releases-strands-harness/ , using the same Fable 5 model. The headline number is striking, but the actual story is more interesting: the savings come from context management, not a better model. That matters for anyone paying Claude Code rates to run batch automation jobs. What Strands Harness Actually Is Strands Harness isn’t a new framework you assemble from parts. It’s a pre-wired agent you install and run. One call to create harness gives you an agent with shell access, file read/write/edit, web search, session persistence, long-term memory, and a helper agent for subtask delegation — all built in, all on by default. It ships for Python 3.10+ and TypeScript Node.js 20+ under Apache 2.0 https://github.com/strands-agents/harness-sdk , and runs against any LLM you hand it: Amazon Bedrock default , Anthropic, OpenAI, Google, Ollama for local models, or LiteLLM as a proxy. python from strands harness import create harness Default: Bedrock with Claude Opus 4.8 agent = create harness agent "Find the slowest test in this repo and explain why it's slow" One line to switch providers agent = create harness model="anthropic/claude-sonnet-5" Sessions persist by default. The harness writes each conversation to ./.agent/sessions . Pass a session ID to resume a prior run: agent = create harness session={"id": "api-design"} agent "Which of those approaches would you pick for an external-facing API, and why?" Why It’s Cheaper: Context Compaction The cost difference isn’t magic — it’s three context management rules applied consistently during long-running loops: - Tool output truncation: Any tool result over ~1,500 tokens gets truncated before it enters the context window. - Compaction at 85% capacity: When the context window hits 85% full, the harness summarizes older turns and migrates bulky tool results to disk, leaving only a short reference pointer in context. - In-loop recovery: If overflow still occurs, the harness handles it mid-loop without crashing. Long-running agents bleed tokens by carrying full tool outputs and conversation history through every iteration. Claude Code doesn’t fix this because it’s designed for interactive sessions where you’re watching — not batch loops where no one is. Strands Harness is built for the latter. Benchmark Results AWS benchmarked across six standard evaluations: ALFWorld, ContextBench, GAIA, WebShop, τ³-bench, and Terminal-Bench 2.1. Across all six, Strands Harness used 28% fewer tokens than other harnesses at comparable accuracy. On Terminal-Bench 2.1 — 89 trials, Fable 5 model: - Strands Harness: $56.29/task, 69.7% accuracy - Claude Code: $248.05/task, 61.8% accuracy Worth noting: DeepSeek Harness was more token-efficient overall, but at lower accuracy. These are also vendor-run benchmarks. Terminal-Bench 2.1 measures long-running autonomous shell tasks — a genuinely different workload from Claude Code’s interactive coding sessions. When to Use It and When Not To Strands Harness makes sense for: - Batch automation — CI log triage, test analysis, codebase audits - DevOps workflows that run unattended for minutes or hours - Back-office data processing that needs persistent memory across sessions - Cost-sensitive applications where Claude Code per-task rates are unsustainable It doesn’t replace Claude Code for interactive coding. If you’re iterating on a function with a model, reading output, and adjusting your approach in real time, Claude Code’s tighter feedback loop is the right tool. Strands Harness is for when you fire off a task and come back to a result. The AWS Default Worth Knowing Out of the box, create harness routes model calls through Amazon Bedrock. One parameter changes this — but if your team accepts defaults, you’re defaulting to Bedrock. AWS built this to be model-agnostic, and technically it is. The path of least resistance still runs through their infrastructure. The harness deploys to AWS ECS, Modal, Cloudflare, Azure Container Apps, or Google Cloud Run. AWS infrastructure is not required — but it’s the obvious on-ramp, and that is by design. Getting Started Install with pip install strands-harness Python or npm install @strands-agents/harness TypeScript . The official launch post https://strandsagents.com/blog/introducing-strands-harness/ and quickstart docs https://strandsagents.com/docs/user-guide/harness/quickstart/ cover model configuration, session persistence, and MCP server integration. The GitHub repo https://github.com/strands-agents/harness-sdk is strands-agents/harness-sdk. If your agent workload involves long-running loops, multiple tool calls per task, and costs you care about — run the benchmarks on your own tasks before committing to anything. The 77% figure is real in the right workload. In the wrong one, you’re just running a different harness.