Skip to content

Equip an agent with tools

This guide assigns common capabilities to an agent so it can interact with files, run commands, and fetch URLs. For the full catalog see the Capabilities reference.

Capability IDTools providedWhat it’s for
web_fetchweb_fetchFetch URLs, convert HTML to markdown
session_file_systemread_file, write_file, edit_file, list_directory, grep_files, delete_file, stat_filePer-session virtual filesystem
virtual_bashbashSandboxed bash shell
stateless_todo_listwrite_todosStructured task tracking
current_timeget_current_timeCurrent date/time awareness
session_storagekv_store, secret_storeKey/value and encrypted secrets
agent = await client.agents.create(
name="Researcher",
system_prompt="You research topics and save notes to /workspace.",
capabilities=["web_fetch", "session_file_system", "stateless_todo_list"],
)
await client.agents.update(
agent.id,
capabilities=["web_fetch", "session_file_system", "virtual_bash"],
)

Some capabilities accept per-agent configuration. Use the long form:

await client.agents.update(
agent.id,
capabilities=[
{"ref": "web_fetch", "config": {"enable_file_download": True}},
{"ref": "session_file_system"},
],
)
agent = await client.agents.get(agent.id)
for cap in agent.capabilities:
print(cap.ref, cap.config or "")

Capability order matters — capabilities earlier in the list contribute their system prompt fragments first. Put high-priority context (project conventions, AGENTS.md) before tool-specific guidance.