AgentOS registers Claude and Codex agents and flags the sandboxed ones
October 19, 20261 min read
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:
# 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, and learn more about the Registry in the documentation.
Frequently asked questions
Yes. Registry(agents=[...]) accepts both, and an AgentOS adds every Claude or Codex agent it serves to its registry, where registry.get_agent(id) returns it.
It is true when the agent is an external agent such as ClaudeAgent or CodexAgent with a sandbox attached, and false otherwise. Team and workflow responses include it as well and report false.
GET /agents, GET /agents/{agent_id} and GET /registry include it for agents. AgentResponse, TeamResponse, WorkflowResponse, their summary models and RegistryContentResponse all declare it.



