# Agno v3.1.5 adds repository pinning and S3 checkpoints for sandboxed agents

published: 2026-10-19T12:05:35.110Z
topic: frameworks
source: https://github.com/agno-agi/agno/releases/tag/v3.1.5
url: https://aiagentnews.io/stories/agno-v3-1-5-adds-repository-pinning-and-s3-checkpoints-for-sandboxed-agents

Agno has released v3.1.5, which lets sandboxed Claude and Codex agents start sessions in a pinned repository and stores sandbox checkpoints in S3-compatible buckets. The release also adds KeenableTools for keyless web search and page extraction, along with several bug fixes.

A sandboxed ClaudeAgent or CodexAgent can now take a repository and branch, and starts each session inside that repository at /workspace/repository. The first turn pins the exact commit, and later turns keep that pin and the workspace edits through warm reuse and checkpoint restore. Private repositories authenticate with GITHUB_READ_TOKEN from the sandbox environment.

S3CheckpointStore keeps sandbox checkpoints in an S3-compatible bucket, so sandboxed agents can run across several replicas without a shared filesystem. open_run_checkpoint and aopen_run_checkpoint let a host process read the verified archive a completed run committed, even after its container is gone. Schedules with an empty or omitted cron_expr now run only through their trigger route.

KeenableTools is a new toolkit for Keenable web search and page extraction that needs no API key and no new dependency. It refuses fetches that resolve to private or loopback addresses. Fixes in this release cover AgentOS form defaults on FastAPI 0.147, sandboxed runs on a Postgres queue without Redis, and file outputs from workflow steps.

## Why it matters if you build agents

Agents running in sandboxed Claude or Codex sessions can keep a fixed commit across turns and read finished run state from outside the container. Teams using FastAPI 0.147 should pick up this release, since the run and continue routes returned JSON or 400 errors without it. Cross-replica streaming and cancellation still require Redis.
