# OS Manager lists and runs Claude and Codex agents

> Agno's OS Manager can hand work to ClaudeAgent and CodexAgent adapters registered with AgentOS. Ask it for "Codex Engineer" and it dispatches the run under the caller's identity and permissions.

- Published: 2026-10-23
- Author: Ashpreet Bedi
- Categories: Changelog
- Canonical: https://www.agno.com/blog/os-manager-lists-and-runs-claude-and-codex-agents
- Markdown: https://www.agno.com/blog/os-manager-lists-and-runs-claude-and-codex-agents.md

Agno's `OSManager` now reads `ClaudeAgent`, `CodexAgent` and other external adapters from `AgentOS(agents=[...])` into its `list_agents` and `run_agent` tools, and finds them by ID or display name. Earlier releases left them out, so the manager saw none of the Claude or Codex agents that `/agents` served.

```python
claude = ClaudeAgent(id="claude-engineer", name="Claude Engineer", db=db)
codex = CodexAgent(id="codex-engineer", name="Codex Engineer", db=db)
agent_os = AgentOS(
    db=db,
    agents=[claude, codex],
    manager=OSManager(model=OpenAIResponses(id="gpt-5.6-luna")),
)
```

We called the manager's tool functions directly with no model turn. A stub replaced `ClaudeAgent._arun_adapter` the same way the release's tests do, so no Claude process ran (real output).

```text
# Earlier releases
list_agents: []
run_agent('Claude Engineer'): {'error': 'Agent not found: Claude Engineer'}

# This release
list_agents: [('claude-engineer', 'Claude Engineer'), ('codex-engineer', 'Codex Engineer')]
run_agent('Claude Engineer'): {'status': 'COMPLETED', 'content': 'done: Summarize the repo'}
```

The manager runs the registered adapter itself, the same object the HTTP routes use, so its guard against two overlapping runs on one session still holds. The `agents:<id>:run` permission still gates each run, and the roster follows any later change to `agent_os.agents`.

See the [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/05_agent_os/29_manager/README.md#run-claude-and-codex-engineers), and learn more about [running Claude and Codex as services](https://docs.agno.com/tutorials/harnesses-as-a-service) in the documentation.
