Skip to main content

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), optional offset and limit for 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, optional replace_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, optional path (search directory)

Grep

Search file contents with regex patterns. Built on ripgrep.

  • Approval required: No
  • Key inputs: pattern (regex), optional path, glob filter, type filter, output_mode (files_with_matches | content | count), context flags (-A, -B, -C), -i for case-insensitive, multiline for 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, optional description (short summary of what the command does), optional timeout (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), optional filter (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 with content (description), active_form (present-continuous label for UI), and status (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
note

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)"