Skip to content

AGENT_TOOLS

chimera.AGENT_TOOLS is an extended ToolGroup with the full default tool set used by the interactive REPL (chimera code) and every codename-bearing CLI that consumes create_default_registry().

The group is constructed lazily on first access (see chimera.core.tool_group._make_agent_tools), avoiding circular import issues at package import time.

The 23 tools cover read/write/edit, shell, search, git, tests, repo maps, multi-file patches, scheduling, and Jupyter editing.

#ToolDescription
1readRead files from the environment
2writeWrite files to the environment
3editApply targeted edits to files
4bashExecute shell commands
5searchSearch file contents with regex
6list_filesList directory contents with glob
7testRun test commands
8gitGit operations (status, diff, commit, etc.)
9replace_in_fileFind-and-replace across files
10image_readRead and describe images
11repo_mapGenerate a repository structure map
12thinkInternal reasoning (no side effects)
13todoManage a task list (persistent for /resume parity)
14verifyRun a verifier (tests / linters / type checks)
15web_searchWeb search tool
16apply_patchMulti-file structured edits via unified-diff body (W13-G1)
17write_guardSurfaces the write_file vs edit_file invariant (W13-G13)
18notebook_editJupyter notebook cell edits
19enter_worktreeCreate an isolated git worktree for the current run
20exit_worktreeTear down the active git worktree and merge back
21cron_createSchedule a recurring task via cron-style expression
22cron_listList active scheduled tasks
23cron_deleteCancel a scheduled task

The four tools added in W13-G1 / W13-G13 (apply_patch, write_guard, notebook_edit, plus the enter_worktree/exit_worktree and cron_* triplets) closed parity gaps that previously left mink/ferret/otter without a default Jupyter / git-worktree / scheduled-task surface.

DEFAULT_TOOLS is a minimal 4-tool group for simple agent runs:

DEFAULT_TOOLS (4)AGENT_TOOLS (23)
read, write, bash, image_readDEFAULT_TOOLS + edit, search, list_files, test, git, replace_in_file, repo_map, think, todo, verify, web_search, apply_patch, write_guard, notebook_edit, enter_worktree, exit_worktree, cron_create, cron_list, cron_delete

Use DEFAULT_TOOLS for lightweight tasks. Use AGENT_TOOLS for full coding sessions.

import chimera
# Use the full agent tool set (23 tools)
agent = chimera.Agent(
provider=chimera.create_provider(),
tools=list(chimera.AGENT_TOOLS),
)
result = agent.run("Refactor the utils module.", env=env)

Extend by adding more tools:

from chimera.tools.dmail import DMailTool
tools = list(chimera.AGENT_TOOLS) + [DMailTool()]
agent = chimera.Agent(provider=provider, tools=tools)

Or select a subset:

tools = [t for t in chimera.AGENT_TOOLS
if t.name in ("read", "write", "bash", "edit")]

Some tools require special setup and are not included by default:

ToolReason
AskUserToolRequires a user-input callback
DMailToolRequires context binding (ContextAwareTool)
BrowserToolRequires playwright (optional dependency)
WebFetchToolRequires network access configuration
DelegateToolRequires multi-agent setup
IPythonToolRequires an IPython kernel
BatchToolWraps other tools — pass an explicit list
PlanModeToolActivated by --mode plan / /plan-mode, not loaded by default

Add these explicitly when needed.

Both DEFAULT_TOOLS and AGENT_TOOLS are ToolGroup instances:

group = chimera.AGENT_TOOLS
len(group) # 23
group.has("apply_patch") # True
group.get("bash") # BashTool instance
group.add(my_tool) # Add a tool to the group
list(group) # Iterate over all tools

create_default_tools(read_ops=..., write_ops=..., bash_ops=..., search_ops=...) constructs a DEFAULT_TOOLS-shaped group with custom operation backends — useful for sandboxed or remote environments.

from chimera import AGENT_TOOLS, DEFAULT_TOOLS
from chimera.core.tool_group import ToolGroup, create_default_tools