Why you'd want it
Strands is an SDK for cases where you would otherwise write your own agent loop: it runs in your process with no hosted control plane and covers turn limits, token budgets, cancellation, tools, structured output, MCP, multi-agent patterns, memory, sessions, streaming, guardrails, tracing and evals. It has first-class support for Amazon Bedrock, Anthropic, OpenAI and Gemini plus other and custom providers, and hooks let you intercept any step of the loop. Strands harness (create_harness() in Python, createHarness() in TypeScript) gives a fully assembled agent with preset defaults.
Best for
- Replacing a hand-rolled agent loop
- Amazon Bedrock users
- Mixed Python and TypeScript stacks
Use it when
You want to own the agent loop in your own process, with lifecycle limits, hooks and tracing built in and the option to swap model providers.
Skip it if
You want a hosted agent platform rather than a library. The Python SDK needs Python 3.10+ and the TypeScript SDK needs Node.js 22+.
Editor's note
The repo was renamed from strands-agents/sdk-python to strands-agents/harness-sdk and is now a monorepo with the Python and TypeScript SDKs, Strands harness and the docs site.