---
title: Tools
description: What Decopilot can do, and the two kinds of tools it has access to
icon: Wrench
---

## Two kinds of tools

Decopilot has access to two kinds of tools:

**Built-in tools** — always available, used for managing work, delegating tasks, and reading context. The same regardless of scope.

**Scope tools** — come from the connections attached in your current scope. At org scope, that's your org-wide built-ins. At agent scope, it's the tools attached to the open agent.

---

## Built-in tools

These are the tools the Decopilot agent uses internally to manage its own work — not a public HTTP API you call from outside. For the external, "bring-your-own-client" surface (MCP endpoints, the Decopilot thread REST API), see the [API Reference](/en/studio/api-reference/connection-proxy).

| Tool | Available in subtasks | What it does |
|---|:---:|---|
| `subtask` | No | Start a subtask with a cloned agent, another agent, or an ephemeral agent scoped to a concrete MCP connection |
| `user_ask` | No | Ask you a question when it needs input |
| `enable_tool` | Yes | Activate a scope tool so it can be called next step |
| `read_resource` | Yes | Read documentation or guidelines from the current scope |
| `read_prompt` | Yes | Read a reusable prompt template |
| `read_tool_output` | Yes | Re-read a large tool result that was offloaded to storage |
| `web_search` | Yes | Run a deep web research pass and stream the result (requires a web-research model) |
| `generate_image` | Yes | Generate an image with the configured image model |
| `propose_plan` | No | Propose a plan for approval (only registered in plan mode) |

Subtasks have restricted access — they can't start additional subtasks or ask you questions, since they're meant to run and report back without interruption.

### Sandbox-backed agents get VM tools

When an agent has a sandbox (a linked GitHub repo, see [Agents](/en/studio/agents)), Decopilot is also given six **VM tools** that operate inside that sandbox:

| Tool | What it does |
|---|---|
| `bash` | Runs a shell command in the sandbox |
| `read` | Reads a file from the sandbox |
| `write` | Writes a file in the sandbox |
| `edit` | Applies a targeted edit to an existing file |
| `grep` | Searches file contents with ripgrep |
| `glob` | Lists files matching a path pattern |

These tools are provisioned lazily — the sandbox only starts on the first VM-tool call.

---

## Scope tools

Scope tools are the domain-specific capabilities tied to your current context. Open an agent and you'll get the tools attached to that agent — Shopify tools if the agent has the Shopify connection, shipping tools if it has ShipStation, and so on.

**Example**: An order-fulfillment agent might expose:

- `GET_ORDERS` — fetch customer orders
- `UPDATE_INVENTORY` — update stock levels
- `CREATE_SHIPPING_LABEL` — generate shipping labels
- `GET_PRODUCTS` — list the product catalog

Which tools are available depends on the connections attached to the current agent. See [Agents](/en/studio/agents) for how to curate this.

---

## How Decopilot uses tools

Decopilot starts each task with only its built-in tools. It sees scope tools listed in its instructions and uses them as needed to complete your request.

For complex work, it can delegate to a subtask (using `subtask`) or load additional context first (using `read_resource` or `read_prompt`) before acting.

---

**Next:** See [Context and tasks](/en/studio/decopilot/context-and-tasks) to understand how Decopilot manages memory.
