Tools
Tools are the capabilities available to the agent during a session. Each tool has a name, description, input schema, and an approval requirement. Tools that require approval will prompt the user before executing, unless a permission rule overrides the default.
File I/O
Read
Read file contents. Supports text files, images (PNG, JPG — auto-resized), and PDFs.
- Approval required: No
- Key inputs:
path(absolute path), optionaloffsetandlimitfor paging through large files
Write
Create or overwrite a file. Automatically creates parent directories if they don't exist.
- Approval required: Yes
- Key inputs:
file_path,content
Edit
Perform exact string replacements in files. Finds old_string and replaces it with new_string.
- Approval required: Yes
- Key inputs:
file_path,old_string,new_string, optionalreplace_all
Glob
Find files matching a glob pattern (e.g., **/*.rs, src/**/*.ts). Results are sorted by modification time and limited to 100 entries. Respects .gitignore.
- Approval required: No
- Key inputs:
pattern, optionalpath(search directory)
Grep
Search file contents with regex patterns. Built on ripgrep.
- Approval required: No
- Key inputs:
pattern(regex), optionalpath,globfilter,typefilter,output_mode(files_with_matches|content|count), context flags (-A,-B,-C),-ifor case-insensitive,multilinefor cross-line patterns
Shell
Bash
Execute shell commands. Supports foreground execution with configurable timeout, and background execution by appending & to the command.
- Approval required: Yes
- Key inputs:
command, optionaldescription(short summary of what the command does), optionaltimeout(milliseconds, default 120 000, max 600 000) - Background mode: Commands ending with
&run in the background and return a shell ID. Use BashOutput to read incremental output and KillShell to terminate.
BashOutput
Read new output from a running or completed background shell.
- Approval required: No
- Key inputs:
bash_id(shell ID from a background Bash execution), optionalfilter(regex to filter output lines)
KillShell
Terminate a background shell process. Sends SIGTERM first, then SIGKILL if the process doesn't exit.
- Approval required: Yes
- Key inputs:
shell_id(shell ID from a background Bash execution)
Builtin
Agent
Spawn a sub-agent to handle a task autonomously. The sub-agent type determines which tools and system prompt it receives.
- Approval required: No
- Key inputs:
description(3-5 word summary),prompt(full task description),subagent_type(which agent to use)
TodoWrite
Track progress on multi-step work with a task list.
- Approval required: No
- Key inputs:
todos— list of items, each withcontent(description),active_form(present-continuous label for UI), andstatus(pending|in_progress|completed)
WebFetch
Fetch content from a URL, convert HTML to markdown, and process it with a prompt.
- Approval required: Yes
- Key inputs:
url,prompt(what to extract from the page)
WebSearch
Search the web and return results with citations.
- Approval required: Yes
- Key inputs:
query
WebSearch is not in the default tool set. Enable it via --allowed-tools.
Default tool set
The following tools are enabled by default: Read, Bash, BashOutput, KillShell, Grep, Glob, TodoWrite, WebFetch, Edit, Write, Agent.
Tools not in the default set (opt-in only): WebSearch, ImageRead, PTY. Enable them with --allowed-tools.
ImageRead
Read and analyze images with a natural-language instruction.
- Approval required: No
- Opt-in: Not in the default tool set. Enable via
--allowed-tools. - Key inputs:
file_path,instruction
PTY
Interactive pseudoterminal for running interactive commands.
- Approval required: No
- Opt-in: Not in the default tool set. Enable via
--allowed-tools. - Key inputs: Writes to and reads from a terminal session.
Tool filtering
Control which tools are available in a session:
# Only allow these tools
ante --allowed-tools Read Glob Grep "analyze the code"
# Remove these tools
ante --disallowed-tools Bash Write "read-only analysis"
Supports ToolMatcher syntax for fine-grained control:
# Allow Bash but only for specific patterns
ante --allowed-tools "Read" "Bash(cargo test)" "Bash(cargo clippy)"