# AgentOS registers Claude and Codex agents and flags the sandboxed ones

> Agno's Registry now holds ClaudeAgent and CodexAgent next to native agents, and AgentOS responses carry a sandboxed field for each agent, team and workflow.

- Published: 2026-10-19
- Author: Ashpreet Bedi
- Categories: Changelog
- Canonical: https://www.agno.com/blog/agentos-registers-claude-and-codex-agents-and-flags-the-sandboxed-ones
- Markdown: https://www.agno.com/blog/agentos-registers-claude-and-codex-agents-and-flags-the-sandboxed-ones.md

Agno's AgentOS now adds every `ClaudeAgent` and `CodexAgent` it serves to its `Registry`, and `Registry(agents=[...])` is typed to take them. `GET /registry` lists them with the rest, and `registry.get_agent("coder")` hands back the Claude agent itself.

Each agent in `GET /agents`, `GET /agents/{agent_id}` and `GET /registry` also carries `sandboxed`. It reads `true` for an external agent with a `sandbox` attached, so a client can tell which agents run in an isolated computer without inspecting their config. Team and workflow responses gained the same field and report `false`.

We served a sandboxed `ClaudeAgent` with id `coder` and a plain `CodexAgent` with id `reviewer`, the reviewer also passed in through `Registry(agents=[reviewer])`, and called the routes with FastAPI's `TestClient`. The sandbox was a stand-in with no compute, since listing routes never start one:

```text
# earlier releases
registry.agents: ['reviewer']
registry.get_agent('coder'): NoneType
GET /registry?resource_type=agent 200 [{"id": "reviewer", "sandboxed": null}]
GET /agents 200 [{"id": "coder", "sandboxed": null}, {"id": "reviewer", "sandboxed": null}]

# this release
registry.agents: ['reviewer', 'coder']
registry.get_agent('coder'): ClaudeAgent
GET /registry?resource_type=agent 200 [{"id": "coder", "sandboxed": true}, {"id": "reviewer", "sandboxed": false}]
GET /agents 200 [{"id": "coder", "sandboxed": true}, {"id": "reviewer", "sandboxed": false}]
```

Earlier releases left the served Claude agent out of the registry, and no response had a `sandboxed` field to read.

See the [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/frameworks/sandbox/docker/sandbox_claude_agentos.py), and learn more about the [Registry](https://docs.agno.com/agent-os/studio/registry) in the documentation.
