memcode docs
Agents

Tools

Every tool the agent can use, its canonical name, and how to restrict an agent's toolbox.

Everything an agent can do it does through a tool, and every tool has one canonical name. This page is the complete list — these names (and the toolset group names in bold) are what you use to control an agent's toolbox.

Controlling the toolbox

An agent's tool policy lives on the agent, so it applies everywhere that agent answers — every channel, every schedule:

agents:
  support:
    model: claude-haiku-4-5
    toolsets: [files, web]        # allow-list: only these (omit = everything)
    disabled_toolsets: [shell]    # remove these; deny always wins

Entries can name a toolset (files), a single tool (edit_file), or a trailing-star wildcard (browser_*). Names you know from elsewhere work too: OpenClaw IDs (exec, read, edit, group:fs) and Hermes toolset names (file, terminal, clarify) resolve to their memcode equivalents — only where the meaning maps exactly; a name for a capability memcode doesn't have is rejected with a message, never silently narrowed. Or just tell memcode admin: "the support agent gets read and web tools only, no shell."

Two rules that always hold:

  • Policy shapes the toolbox; it never loosens safety. Every command from every remaining tool is still risk-checked, and in gateway mode dangerous commands are denied outright — an agent with shell enabled still cannot be talked into a destructive command by a chat message.
  • A hidden tool fails closed. The model never sees tools outside the policy, and a call to one is refused even if the model invents it.

The tools

files — reading and editing files in the project

ToolWhat it does
read_fileRead a file
list_dirList a directory
globFind files by name pattern
ripgrepSearch file contents
git_diffSee uncommitted changes
edit_fileEdit one file
apply_patchMulti-file, all-or-nothing edits

shell — executing commands (each still risk-gated per action)

ToolWhat it does
bashRun a shell command
scriptSave and replay reusable command sequences
run_testsRun the repo's tests, structured results
traceTrace data across pipeline stages to find where it's lost

code — understanding code

ToolWhat it does
code_query"Where does X live" — ranked evidence in one call
code_navGo-to-definition, find-references, types (LSP)
diagnosticsCompile/type errors for a file or the repo
repo_mapRanked symbol map of the codebase

web — the public internet

ToolWhat it does
web_searchSearch the web
fetchFetch a URL's text
githubPRs, issues, and CI via GitHub
artifactPublish a hosted HTML page (gated)

browser — driving a real Chrome browser

browser_navigate, browser_click, browser_type, browser_screenshot, browser_eval, browser_text, browser_scroll, browser_press_key, browser_hover, browser_select, browser_back, browser_forward, browser_console, browser_new_tab, browser_switch_tab, browser_close_tab, browser_list_tabs

mcp — connected MCP servers

ToolWhat it does
mcpDiscover and call tools on your MCP servers
mcp_resourceRead MCP resources (docs, schemas, runbooks)
mcp_promptUse MCP prompt templates
mcp_code_execOrchestrate MCP servers from a script

memory — what the agent knows

ToolWhat it does
memcodeThe agent's own intelligence: context, sessions, history
todoThe agent's work-tracker checklist
knowledgeBaseline facts and idioms for your stack
preference_signalRemember a durable preference you expressed

skills — installed skills

ToolWhat it does
skillFind and load an installed skill's guidance (gated)

delegation — spawning sub-agents

ToolWhat it does
exploreRead-only sub-agent to investigate one question
dispatchHands-off background sub-agent for a block of work
agentRun a task on a chosen model tier, report back
reasoningAdjust thinking depth, or delegate a hard sub-problem

planning — plan mode

ToolWhat it does
enter_planResearch and propose a plan for approval
execute_planExecute the approved plan
cancel_planAbandon plan mode
recall_planRetrieve a previously saved plan

interaction — talking to you

ToolWhat it does
ask_userAsk a clarifying question at a critical fork

Recipes

A public Q&A bot that can read your docs and search the web, nothing else:

agents:
  support:
    toolsets: [files, web, memory, skills]
    disabled_toolsets: [edit_file, apply_patch, artifact]

A monitoring agent that may run checks but never edit anything:

agents:
  watchdog:
    toolsets: [shell, files, web]
    disabled_toolsets: [edit_file, apply_patch]

Migrating? memcode hermes migrate carries your toolsets/disabled_toolsets over and memcode claw migrate your tools.allow/deny — entries keep your original spelling where it resolves here. Tools memcode doesn't have (vision, image generation, home automation, per-sender overrides) are listed in the migration notes with what to do instead — never silently dropped, never pretended.

On this page