Tools determine what an Agent can do. By configuring theDocumentation Index
Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
Use this file to discover all available pages before exploring further.
tools field when creating or updating an Agent, you precisely control its capabilities.
What Tools Do
When executing a task, the Agent decides which capabilities it can call based on thetools configuration. All tools are configured through a single object { "type": "agent_toolset_20260401", "enabled_tools": [...] }, selectively enabling atomic tools in the enabled_tools array.
Tools you don’t configure cannot be invoked.
Available Tools
| Tool name (enabled_tools value) | Purpose | Typical use cases |
|---|---|---|
Bash | Shell command execution | Installing dependencies, running scripts, calling APIs with curl |
Read | File reading | Viewing mounted files, code reading |
Write | File writing (create/overwrite) | Generating reports, producing output |
Edit | Partial file editing | Changing configuration, editing code |
Glob | Glob pattern file listing | Finding code files |
Grep | File content search | Locating strings |
WebFetch | HTTP GET a single page | Fetching documentation/pages |
WebSearch | Web search | Looking up information |
- Tool names are capitalized (
Bashnotbash); they also appear capitalized in event streams enabled_toolscannot be an empty array (an empty array means 0 tools, and the session will never respond after enteringprocessing)- Writing an unknown tool name in
enabled_tools(such as"Foo") is silently accepted by the server, but the agent will not actually receive that tool - The old per-tool-object schema (such as
{"type": "bash_20250124"}) is no longer supported
Current Format: Single Object
Tool configuration is a single object that toggles specific tools via theenabled_tools array:
Configuration Examples
Minimal (CLI only)
Full Development Stack
Create a New Version (PUT Full Replacement)
Use PUT to create a new version of the Agent with updated tool configuration:PUT is a full replacement (not a patch) — fields not included will be cleared. You must include the
version field for optimistic concurrency control:- If the supplied version matches the current version: 200, version increments by 1
- If the supplied version is stale: 409
{ error: { type: "conflict_error", message: "Version conflict. Expected version N, got M." }}
Inspect Current Tool Configuration
FAQ
Q: What if I don’t configuretools? A: The Agent will have no tools available and can only have plain-text conversations.
Q: Can I override tools at the Session level? A: Not currently. Tool configuration is bound to the Agent, and all Sessions for that Agent share the same toolset.
Q: Does the order of tools matter? A: No. The Agent decides which tool to invoke based on the task context.
Q: Will the version suffix change over time? A: Yes. As new tool versions ship, new dated suffixes are introduced. Watch the changelog and adopt the latest suffix.