We noticed builders frequently desired their Claude Code or Codex setup could run in the haze since locally their delegate idea fair “worked” alongside those harnesses.
But the instant you build your own agent, you’re on your own. It’s tricky wiring up the correct primitives fair fine adequate to equivalent that “it fair worked” feeling.
Today we’re releasing Strands harness: a completely assembled state-of-the-art delegate harness you can effortlessly run locally or deploy to your favorite provider. It’s built to be a general-purpose delegate fairly than a coding agent. All you need is one row of Python or TypeScript to get it operating alongside your choice of model. Strands harness strikes another delegate harnesses on disbursal effectiveness during maintaining equal or improved accuracy. It’s accessible under an Apache 2.0 license.
Strands harness costs 28% less whenever using the identical Claude or GPT models throughout six benchmarks. We established Strands harness showed improved token-efficiency and nearly equal benchmark scores compared to Claude Code, Codex, and another famous harnesses. That’s crucial since we never desire to sacrifice accuracy for lesser cost. Deepseek Harness proved to be the most token-efficient overall, however, it typically reported the lowest accuracy scores. Our evaluation setup was distributed benchmarking on EC2 alongside Harbor.
With Fable 5, Strands harness cost 77% less than Claude Code and scored higher on Terminal Bench 2.1. We’re additionally pleased to see two another open origin harnesses execute likewise fine on cost/accuracy against Claude Code.
Strands harness, built on the Strands Harness SDK, contains defaults for immediate caching and environment management. Our default environment administration mostly drove the token-efficiency and accuracy: tool results complete ~1500 tokens get truncated, summarization (compaction) triggers whenever the environment opening hits complete 85%, and environment improvement runs inside the iteration if there’s an overflow.
Keep an eye out for a follow-up document from our researchers concerning these benchmarks. In the meantime, we’re enthusiastic everyone gets to use these defaults in Strands harness.
Easy to get started
Strands harness runs on the latest models throughout Amazon Bedrock, Anthropic, OpenAI, and Google. Pick one by name, or item it at a local Ollama model:
from strands_harness import create_harness
agent = create_harness(model="bedrock/global.anthropic.claude-opus-5")
agent("Research the top three vector databases, difference pricing and limits, and compose it up in comparison.md")
Out of the box, create_harness() returns an delegate that:
- Runs on a current reasoning example throughout Amazon Bedrock, Anthropic, OpenAI, Google, Ollama, or LiteLLM.
- Ships alongside shell, document (read / compose / edit), and web tools: the primitives a example already knows how to use, fairly than a bespoke tool per task.
- Manages its own environment window. It offloads bulky tool results to records and caches the reused parts of all petition to preserve period and cost.
- Keeps long-term recollection throughout runs, and resumes an before conversation whenever you provision it a meeting ID.
- Delegates open-ended subtasks to a built-in helper agent, and tracks multi-step activity alongside a checklist.
- Loads skills if they exist.
Strands harness can be deployed on any provider alongside a linux container, specified as Modal, Cloudflare Containers, Azure Container Apps, Google Cloud Run, Amazon ECS, and Amazon Bedrock AgentCore.
We additionally have the Strands CLI that allows you to prototype your delegate in plain English. Wire up your example provider of choice, afterward add prompts and tools to observe your delegate arrive to life. Afterwards, you can run /export in the Strands CLI to get a copy of the code in either TypeScript or Python, a extremely convenient way to keep iterating on Strands harness alongside your preferred coding agent.
Here we ask the Strands harness delegate to “add the Playwright MCP” and afterward measure latency whenever loading a video on a blog post. After seeing the MCP tools accurately work, we merely run /export to get the Strands harness code. You can see the Playwright MCP got added to the boilerplate, making it uncomplicated to iterate alongside a coding delegate or adding config to deploy.
What you can build from Strands harness
The Strands CLI is really built on top of Strands harness. We unlocked a bunch of aspiring ideas since of how uncomplicated it is to prototype any agent. Recently our engineer, Gautam Sirdeshmukh, inspired by delegate platforms akin Grokbot and Muse, built a desktop app that kicks off Strands harness remotely.
When you’re prepared to go deeper, Strands harness is completely customizable. You can effortlessly override any default, toggle models, add tools, or gradually substitute components all the way downward to the Strands Harness SDK. The code is yours.
We’re enthusiastic for all kinds of agents that’ll arrive to existence alongside Strands harness.
Try it out today
You can effortlessly instal Strands harness alongside pip instal strands-harness for Python or npm instal @strands-agents/harness for TypeScript. For an interactive experience, download the Strands CLI: npm instal -g @strands-agents/cli.
We accept quickly prototyping alongside a batteries included harness volition create additional helpful agents. Our squad is additionally in Discord, so arrive say hi or ask us any inquiry concerning agents!