Source: github.com/agno-agi/agno/releases/tag/v3.1.4
ClaudeAgent and CodexAgent accept a sandbox= parameter and run the whole harness process in an isolated, per-session computer rather than on the host. Each turn claims the session through a lease row in the agent's Postgres, restores compute from the last committed checkpoint, runs the turn, and then captures and verifies a new checkpoint. A restore that loses the native conversation id fails with native_state_missing before the model runs.
DockerSandbox is the customer-operated provider, with containers running as UID 1000, a read-only image filesystem, and CPU, memory and process limits. AgentCoreSandbox implements the same contract on AgentCore Runtime, where each sandbox generation runs in a Firecracker microVM. Provider packages moved to agno.sandbox.docker and agno.sandbox.agentcore, and the release fixes a Docker checkpoint restore failure on every second turn.
Other changes include a per-session queue that runs at most one durable background run at a time, attachments for sandboxed agents limited to 16 files and 512 KiB, inline image and PDF support for Claude Code, and a ChartTools toolkit. CodexAgent's sandbox= string option is renamed sandbox_mode, and the old form still works with a DeprecationWarning.
Why it matters if you build agents
Developers running Claude or Codex agents can now isolate harness execution in Docker or AgentCore instead of on the host, and resume sessions after a container or replica is lost.
Code that passes CodexAgent(sandbox="read-only") should move to sandbox_mode, since the old form is deprecated.
Background runs on one session now queue behind each other, so agents that expected parallel runs in the same session will see them wait.
Get stories like this every weekday
One short email with the day's agent tooling news.