Pre-built Tools

Understanding the pre-built tools in the Letta server

Letta provides a set of pre-built tools that are available to all agents. These tools include memory management tools (for reading and writing to memory blocks), file editing tools, multi-agent tools, and general utility tools like web search and code execution.

Default Memory Tools

By default, agents in Letta are created with a set of default tools including send_message (which generates a message to send to the user), core memory tools (allowing the agent to edit its memory blocks), and external memory tools (to read/write from archival memory, and to access recall memory, aka the conversation history):

ToolDescription
send_messageSends a message to the human user.
core_memory_appendAppend to the contents of a block in core memory.
core_memory_replaceReplace the contents of a block in core memory.
conversation_searchSearch prior conversation history (recall memory)
archival_memory_insertAdd a memory to archival memory
archival_memory_searchSearch archival memory via embedding search

You can disable the default tools by setting include_base_tools to false during agent creation. Note that disabling the send_message tool may cause agent messages (intended for the user) to appear as “reasoning” messages in the API and ADE.

Multi-Agent Tools

Letta also includes a set of pre-made tools designed for multi-agent interaction. See our guide on multi-agent for more information.

The web_search tool allows agents to search the web for information.

On Letta Cloud, this tool works out of the box, but when using this tool on a self-hosted Letta server, you must set a TAVILY_API_KEY environment variable either in during server startup or in your agent’s tool execution environment.

Code Interpreter

The run_code tool allows agents to run code (in a sandbox), for example to do data analysis or calculations. Supports Python, Javascript, Typescript, R, and Java.

On Letta Cloud, this tool works out of the box, but when using this tool on a self-hosted Letta server, you must set a E2B_API_KEY environment variable either in during server startup or in your agent’s tool execution environment.