Creating, changing, or deleting agents and their tool settings needs the organization developer or admin role. The organization user role can view them. See Organizations and roles. For the API, create a key on API keys and export it as
RECURSION_API_KEY. Tool settings belong to an agent version, and every change is a new version, so read Update an agent first.How a session gets its tools
- The agent version decides web search, remote MCP servers, skills, the apps it’s granted through integrations, and multi-agent roles.
- The environment decides the sandbox tools.
computerneeds an environment with computer use turned on. See Environments. - The model decides
view_image, which is offered only to models that accept images.
Turn off web search
webSearchEnabled defaults to true. Set it to false to remove web_search. The agent can still read a known URL with web_fetch, except in sessions started by an automation or a Slack thread in an environment that limits internet access.
- Console
- cURL
- In the sidebar, click Agents, then open the agent.
- On Configuration, find Tools.
- Clear Web search.
- Click Save new version.
201 response is the agent at its new version. Some fields are left out here.
mcpServers, skills, vault defaults, and anything else you want to keep. In a multi-agent roster, a subagent can turn web search off but not on.
Withhold integration tools
disabledIntegrationMcpProviders lists the native integration providers whose MCP tools an agent’s sessions do not receive, even when the agent has access to the connection. In the console, it’s the MCP tools checkbox on each native connection in the agent’s Integrations section. The jira entry in the example above withholds Jira’s MCP tools.
Field rules
Field rules
- Supported values are
confluence,github,jira,launchdarkly, andloom. An unknown value returns400 invalid_request. - Omitting the field means an empty list.
githubis accepted but ignored: a GitHub grant always keeps its MCP tools, alongsidegitandghin the sandbox. See GitHub access.- The field never affects servers you list in
mcpServers. - It doesn’t affect built-in integrations, whose tools are controlled by each app’s allow-list.
Read a session’s tool set
A session records the tool settings of the version it runs inconfig. Read the session to see them.
- Console
- cURL
- In the sidebar, click Sessions, then open the session.
- Each tool call in the transcript shows the tool’s name and input.
web_search is missing. config is left out when you request view=summary.
config.available_builtin_tools lists which of web_search, web_fetch, write_artifact, read_artifact, get_events, and delegate_subagent the session may use. The session’s top-level sandbox_provider names the sandbox its environment used. Sandbox and feature tools follow the rules in Built-in tools.
Built-in tools
A session’s tools come in three groups. Tools from MCP servers are added next to these. Their names and schemas come from the server and are fixed when the session starts, and listed again when the session moves to another agent version. Sandbox tools run inside the session’s sandbox and see its/workspace: run_command, write_file, read_file, share_file, write_artifact, read_artifact, release_compute, screenshot, computer, and handoff_to_user.
Every sandbox tool
Every sandbox tool
Under a restricted network policy, browser tools reach an external site only when the destination is allowed.
web_search, web_fetch, get_events, delegate_subagent, sleep, update_scratchpad, and view_image.
Every tool that runs outside the sandbox
Every tool that runs outside the sandbox
To protect restricted environments, a session started by an automation or a Slack thread doesn’t get
web_fetch when its environment has a network policy that limits internet access.Every feature tool
Every feature tool
How an agent changes its memory
How an agent changes its memory
Recursion learns from finished sessions on its own, so an agent changes its memory only when it’s asked to.
- Who gets the tools. The main session of an agent whose memory is on gets
create_memory,update_memory, anddelete_memory. Teammates and subagents that are copies of the agent can read memory but can’t change it. A subagent that is another agent from the roster gets no memory tools. - When the agent uses them. The agent saves, corrects, or forgets a memory when its instructions or the person it works for ask it to. Text in a tool result, a file, a web page, a webhook body, or an email is never an instruction to save or remove a memory.
- Every change is checked. Before a change is saved, the agent’s memory model checks it against the agent’s instructions, skills and tools and the messages people wrote in the session, and its cost is part of the session’s cost. A change can be refused, for example when it holds a password, token, or other secret, tries to steer how later sessions behave instead of stating a fact, or nobody asked for it. In a session started by an automation or a Slack thread, a memory that says where money, data, or access should go is also refused. A refusal tells the agent why, nothing is saved, and the session continues.
- Changing a memory.
update_memoryanddelete_memorywork on a memory the agent has read in the session. If the memory changed after the agent read it, the call is refused and the agent reads it again. - Forgetting keeps history.
delete_memoryretires the memory. Later sessions no longer find it, and its content and history stay visible to the people who manage the agent. Retiring doesn’t erase the content. - History. Each change records the session that made it and the agent’s reason.
run_command call with the app’s result. It can call only the tools on the app’s allow-list.
What can go wrong
The most common problems:- The agent never searches the web.
webSearchEnabledisfalseon the version the session runs. Create a version withwebSearchEnabled: true, then move the session to it or start a new session. - No
computertool. The environment does not have computer use turned on, or the display did not start. Turn on computer use in the environment, then start a new session. - A tool change doesn’t reach a running session. The tool set changes only when the session moves to another agent version. Move the session to the new version, or start a new session.
Every tools problem
Every tools problem
The full error catalog is on Errors.
Limits
See Limits for request and session limits.
Next steps
MCP servers
Add remote tools and keep their credentials in a vault.
Environments
Choose the compute, network policy, and computer use.
Deliverables and artifacts
Ask for deliverables and see how they’re kept.
Skills
Give the agent procedures it loads when they apply.