Claude Agent SDK adds stateless Bash

- Anthropic’s Claude Code 2.1.121 landed on April 28, and the Agent SDK picked it up in Python v0.1.69 with the same runtime changes. (github.com) - The concrete shift is control: alwaysLoad for MCP tools, broader PostToolUse output replacement, and SDK parity with Claude Code 2.1.121. (github.com) - That matters because agent builders want tighter tool exposure and safer local execution while keeping Claude Code’s full agent loop. (code.claude.com)

Anthropic’s Agent SDK got a quiet but meaningful update this week. The headline is not really “new model” or “bigger context.” It’s control. On(github.com) the Python Agent SDK pulled that runtime in with v0.1.69, which means developers using the SDK inherit the new behavior instead of waiting for a separate feature branch. (github.com) This matters because the Agent SDK is basically Claude Code as a programmable building block. It gives de(code.claude.com) and context handling that power Claude Code itself — but inside their own Python or TypeScript apps. (code.claude.com) ### What actually changed? The clearest change in 2.1.121 is around how tools get surfaced and controlled. Anthropic added an `alwaysLoad` option for MCP server config, so tools from a given server can skip deferred tool search(github.com)place tool output for all tools through `hookSpecificOutput.updatedToolOutput` — not just MCP tools. (github.com) ### Why is that a big deal? Because agent safety is often less about the model and more about th(code.claude.com) is one behavior. If a tool is always present, that is another. And if a hook can rewrite output from any tool, teams suddenly have a much stronger interception point for redaction, policy enforcement, or cleanup before the model sees results. (github.com) ### Where does the SDK fit in? The Python SDK’s v0.1.69 release notes are short, but(github.com)he SDK inherits the same underlying runtime changes from Claude Code. In practice, developers using the SDK are not just getting wrapper-level fixes — they are getting a newer command-and-tool execution substrate underneath their agents. (github.com) ### What about TypeScript? TypeScript tracks Claude Code too, but on a different version line. (github.com)lease stream shows Anthropic treating the SDK as a thin layer over the evolving Claude Code runtime. More recent TypeScript releases added session storage, native binary spawning, and tracing propagation, which reinforces the pattern: the SDK is becoming a more production-grade shell around Claude Code rather than a separate agent stack. (github.com)cial release notes I could verify. The authoritative changelog for Claude Code 2.1.121 lists MCP loading, plugin cleanup, searchable skills, broader PostToolUse replacement, and a long set of fixes — but not a stateless Bash runtime by that name. The Python SDK notes for v0.1.69 also only say it bundles Claude CLI 2.1.121. So the safer read is that the real, documented story is broader tool-governance changes, not a clearly labeled Bash redesign. (github.com)e kinds of changes that make agents easier to run inside real teams. Always-on tool loading helps with predictable environments. Output-rewriting hooks help with guardrails. And SDK parity with the CLI means less drift between what works in Claude Code and what works in an embedded agent app. That lowers a very annoying class of production bugs. (github.com) ### So what’s the bottom line? This was a plumbing release — but good plumbing ma(github.com)nter, stay visible, and return results. For anyone building agents that can touch files, shells, or MCP services, that is the part worth paying attention to. (github.com)

Get your own daily briefing

Scout delivers personalized news, insights, and conversations tailored to your role and industry.

Download on the App Store

Shared from Scout - Be the smartest in the room.