> ## Documentation Index
> Fetch the complete documentation index at: https://comis-feature-matrix-channel.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Tools Overview

> Master reference for every tool your Comis agents can use

Comis ships with **73 built-in agent tools** spanning file operations, web access, messaging, scheduling, media processing, browser automation, context management, interactive terminal sessions, and administration. This page is the master reference -- every tool listed with its category, description, and link to detailed documentation.

When an agent receives a message, it decides which tools to use based on what you asked it to do. Need a daily briefing? The agent uses the `cron` tool. Want to send a message to another channel? It uses `message`. Need to analyze an image someone sent? It reaches for `image_analyze`.

The tools listed below are everything your agents have at their disposal. Each tool is linked to its detailed guide page where you will find parameters, examples, and tips for effective use.

## Understanding Tool Categories

Tools fall into three tiers:

| Tier               | Count        | Description                                                                                                                                                                                                                                                                                                 |
| ------------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Built-in tools** | 73           | Core capabilities shipped with Comis -- file operations, shell commands, web search, browser automation, messaging, scheduling, sessions, media, infrastructure, context, interactive terminal sessions, supervisor admin, and platform actions. Available on every agent unless restricted by tool policy. |
| **MCP tools**      | Configurable | External Model Context Protocol servers -- Anthropic's reference servers, community-built MCP servers, and your own. Discovered at runtime and qualified with `mcp:{server}/{tool}` names. See [MCP Management](/web-dashboard/mcp-management).                                                             |
| **Custom skills**  | Unlimited    | Markdown-defined "mini-programs" with optional tool restrictions and bin/env requirements. Comis ships 7 built-in skills; you can author your own. See [Skills](/skills/index).                                                                                                                             |

Tool access is controlled by [tool policy](/skills/tool-policy). By default, agents have access to all tools, but you can restrict access per agent using profiles (like `coding` or `messaging`) or fine-grained allow/deny lists.

<Info>
  All tool names use `snake_case` -- for example, `web_search`, `sessions_spawn`, and `memory_store`. When referencing tools in configuration files (such as tool policy allow/deny lists), use these exact names.
</Info>

## Master Reference Table

Every tool your agents can use, organized by category. Click the guide link in any row to jump to the full documentation for that tool.

### Files & Code (8 tools)

File and code tools are always available unless explicitly denied by tool policy. They can be individually toggled in `config.yaml` under the `builtinTools` section.

| Tool            | Description                                                | Guide                                    |
| --------------- | ---------------------------------------------------------- | ---------------------------------------- |
| `read`          | Read file contents with line numbers and pagination        | [Built-in Tools](/skills/built-in-tools) |
| `write`         | Create or overwrite files, auto-creates parent directories | [Built-in Tools](/skills/built-in-tools) |
| `edit`          | Structured insert/replace/delete edits on existing files   | [Built-in Tools](/skills/built-in-tools) |
| `notebook_edit` | Cell-level Jupyter notebook editing                        | [Built-in Tools](/skills/built-in-tools) |
| `grep`          | Search file contents using ripgrep (auto-provisioned)      | [Built-in Tools](/skills/built-in-tools) |
| `find`          | Find files using fd (auto-provisioned) or fallback         | [Built-in Tools](/skills/built-in-tools) |
| `ls`            | List directory contents                                    | [Built-in Tools](/skills/built-in-tools) |
| `apply_patch`   | Apply unified diffs to files                               | [Built-in Tools](/skills/built-in-tools) |

### Process & Execution (2 tools)

| Tool      | Description                                              | Guide                                    |
| --------- | -------------------------------------------------------- | ---------------------------------------- |
| `exec`    | Sandboxed shell execution with restricted-binary policy  | [Built-in Tools](/skills/built-in-tools) |
| `process` | Background process lifecycle (spawn, kill, status, logs) | [Built-in Tools](/skills/built-in-tools) |

### Terminal (Interactive Shell)

Interactive terminal sessions for driving allowlisted binaries. Requires an operator-configured `allowEntries` allowlist -- without a matching entry the tool rejects. Requires bubblewrap sandbox on Linux. See [exec sandbox](/security/exec-sandbox). Full reference: the [Terminal Driver](/agent-tools/terminal-driver) guide; for driving **Claude Code & Codex** as first-class coding agents (config + how it works), see [Coding CLIs](/agent-tools/coding-clis); to hand the agent a **design doc and have it build the whole thing** via the GSD spec-driven workflow, see [Autonomous Builds](/agent-tools/gsd-builder).

| Tool                         | Description                                                                             | Guide                                    |
| ---------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------- |
| `terminal_session_create`    | Start an interactive terminal session driving an allowlisted binary.                    | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_read`      | Read buffered output from an active session (accumulated since last read).              | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_list`      | List all active terminal sessions for the current agent.                                | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_kill`      | Terminate an active terminal session and free its resources.                            | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_send_text` | Write text to a terminal session's stdin (optionally submit with Enter after a settle). | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_send_key`  | Send named key chords (e.g., Enter, Ctrl-C, S-Tab) to a terminal session.               | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_resize`    | Resize a terminal session's pseudo-TTY (cols x rows).                                   | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_wait`      | Wait for a terminal session to produce matching output or a timeout.                    | [Built-in Tools](/skills/built-in-tools) |
| `terminal_session_status`    | Registered with final schema; execute rejects with `[not_implemented]` (stub).          | [Built-in Tools](/skills/built-in-tools) |

### Web & Browser (3 tools)

| Tool         | Description                                                                                                                  | Guide                               |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| `web_search` | Web search across 8 providers (Brave, DuckDuckGo, Exa, Grok, Jina, Perplexity, SearXNG, Tavily) with optional fallback chain | [Web Tools](/agent-tools/web-tools) |
| `web_fetch`  | Fetch a URL and extract readable content via Readability (SSRF-guarded)                                                      | [Web Tools](/agent-tools/web-tools) |
| `browser`    | Headless Chromium automation -- 16 actions, 11 `act` sub-kinds                                                               | [Browser](/agent-tools/browser)     |

### Scheduling

Scheduling tools let agents create automated tasks that run on a timer. Agents can set up recurring cron jobs, one-time reminders, and manage their own heartbeat -- a periodic wake-up that triggers routine maintenance or check-in tasks.

| Tool               | Description                                   | Guide                                 |
| ------------------ | --------------------------------------------- | ------------------------------------- |
| `cron`             | Create and manage scheduled jobs              | [Scheduling](/agent-tools/scheduling) |
| `heartbeat_manage` | Configure agent heartbeat timing and triggers | [Scheduling](/agent-tools/scheduling) |

### Messaging

The message tool works across all connected channels -- Discord, Telegram, Slack, WhatsApp, and every other supported platform. Agents can send new messages, reply to specific messages, add emoji reactions, edit or delete messages, fetch message history, and send file attachments.

Agents can also send messages to channels they are not currently conversing in, making the message tool ideal for notifications, alerts, and cross-channel coordination.

| Tool          | Description                                                     | Guide                               |
| ------------- | --------------------------------------------------------------- | ----------------------------------- |
| `message`     | Send, reply, react, edit, delete, fetch, and attach messages    | [Messaging](/agent-tools/messaging) |
| `notify_user` | Send proactive notifications, alerts, and reminders to the user | [Messaging](/agent-tools/messaging) |

### Sessions & Sub-Agents

Session tools let agents manage their conversations, communicate with other agents, and spawn sub-agents for specialized tasks. For example, a lead agent can spawn a researcher sub-agent and a writer sub-agent to work in parallel.

| Tool               | Description                                                                                  | Guide                             |
| ------------------ | -------------------------------------------------------------------------------------------- | --------------------------------- |
| `session_search`   | Search session history by query                                                              | [Sessions](/agent-tools/sessions) |
| `session_status`   | Get the current session status                                                               | [Sessions](/agent-tools/sessions) |
| `sessions_history` | Retrieve session history entries                                                             | [Sessions](/agent-tools/sessions) |
| `sessions_list`    | List all sessions for the current agent                                                      | [Sessions](/agent-tools/sessions) |
| `sessions_send`    | Send a message into another session in 3 modes (`fire-and-forget`, `wait`, `ping-pong`)      | [Sessions](/agent-tools/sessions) |
| `sessions_spawn`   | Spawn a sub-agent session with workspace isolation, artifact refs, and an optional objective | [Sessions](/agent-tools/sessions) |
| `subagents`        | Manage running sub-agents (`list`, `kill`, `steer`)                                          | [Sessions](/agent-tools/sessions) |

### Pipelines (Execution Graphs)

The `pipeline` tool defines and runs multi-agent execution graphs (DAGs). Nodes run in parallel when independent, or wait for upstream nodes via `depends_on`. Comis ships **7 built-in node type drivers** -- `agent`, `debate`, `vote`, `refine`, `collaborate`, `approval-gate`, and `map-reduce`.

| Tool       | Description                                                                                                    | Guide                               |
| ---------- | -------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| `pipeline` | Define, execute, save, load, list, delete, monitor, cancel, and read outputs from execution graphs (9 actions) | [Pipelines](/agent-tools/pipelines) |

### Media

Media tools process images, audio, video, and documents. Agents can analyze images with vision AI, convert text to speech, transcribe voice messages, describe video content, and extract text from documents like PDFs. These tools require appropriate AI providers to be configured (for example, vision capabilities for image analysis, and STT providers for transcription).

| Tool               | Description                                                         | Guide                       |
| ------------------ | ------------------------------------------------------------------- | --------------------------- |
| `image_analyze`    | Vision AI image analysis (file, URL, base64, attachment)            | [Media](/agent-tools/media) |
| `tts_synthesize`   | Text-to-speech audio generation                                     | [Media](/agent-tools/media) |
| `transcribe_audio` | Audio and voice transcription to text                               | [Media](/agent-tools/media) |
| `describe_video`   | Video description using vision AI                                   | [Media](/agent-tools/media) |
| `extract_document` | Document text extraction (PDF, CSV, TXT, and more)                  | [Media](/agent-tools/media) |
| `image_generate`   | Generate images from text prompts, delivered to the current channel | [Media](/agent-tools/media) |

### Memory

Memory tools give agents access to their long-term memory. Agents automatically build up memory over time, but these tools let them explicitly search, read, and store information. Memory uses hybrid text and vector search for semantic matching, so agents can find relevant memories even with different wording.

| Tool            | Description                                                                                                                                                                       | Guide                                                           |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `memory_get`    | Retrieve a memory entry by key                                                                                                                                                    | [Sessions](/agent-tools/sessions#memory-tools-long-term-memory) |
| `memory_manage` | Create, update, or delete memory entries                                                                                                                                          | [Sessions](/agent-tools/sessions#memory-tools-long-term-memory) |
| `memory_search` | Semantic search over agent memory (hybrid text + vector)                                                                                                                          | [Sessions](/agent-tools/sessions#memory-tools-long-term-memory) |
| `memory_store`  | Store a new memory entry (secret-detection guard applied)                                                                                                                         | [Sessions](/agent-tools/sessions#memory-tools-long-term-memory) |
| `memory_ask`    | Grounded natural-language answer over the agent's recall pipeline. Default-on; disable per-agent with `dialectic.enabled: false`, or via the `memory.enabled: false` kill switch. | [Sessions](/agent-tools/sessions#memory-tools-long-term-memory) |

### Context (3 tools)

In-session recovery tools over the DAG (LCD) context engine's lossless store.
Available when the agent runs in DAG mode (`contextEngine.version: "dag"`).
They recover detail the summary hierarchy compressed away **within this
conversation** — they are **distinct from cross-session recall**
(`memory_search` / `session_search`), which they share no code with, and they
never reach other sessions or tenants. All three are `never-export` (never
reachable via the MCP server) and read-only. See
[Context Management](/agents/context-management#dag-mode-the-default-engine).

| Tool          | Description                                                                                                                       | Documentation                                             |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| `ctx_search`  | Full-text search over THIS conversation's compressed history (FTS with a LIKE fallback).                                          | [Sessions](/agent-tools/sessions#context-expansion-tools) |
| `ctx_inspect` | Inspect a summary's metadata (depth, coverage, time-range) and its immediate children / covered-message count.                    | [Sessions](/agent-tools/sessions#context-expansion-tools) |
| `ctx_expand`  | Recover (rehydrate) a compressed region back to its underlying messages; large output is written to a session file with a handle. | [Sessions](/agent-tools/sessions#context-expansion-tools) |

### Infrastructure

These platform-management tools let agents inspect or modify the running Comis daemon. The `gateway` tool drives configuration and the secret store; `background_tasks` inspects the long-running task queue; `mcp_manage` reaches into the MCP client manager. See also: `browser` (listed under the [Web and Browser](#web--browser-3-tools) section).

| Tool               | Description                                                                                                                                          | Guide                                         |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| `gateway`          | Configuration management and gateway control (11 actions: read, patch, apply, restart, schema, status, history, diff, rollback, env\_set, env\_list) | [Infrastructure](/agent-tools/infrastructure) |
| `background_tasks` | Inspect and manage background task queue (list, get, cancel, read\_output)                                                                           | [Infrastructure](/agent-tools/infrastructure) |
| `mcp_manage`       | MCP server lifecycle (list, status, connect, disconnect, reconnect)                                                                                  | [Infrastructure](/agent-tools/infrastructure) |
| `mcp_login`        | MCP provider OAuth login (e.g., for Higgsfield and other MCP services that require authentication)                                                   | [Infrastructure](/agent-tools/infrastructure) |
| `get_prompt`       | Fetch a named prompt from a connected MCP server. Conditional: active only when a connected server advertises prompts.                               | [Infrastructure](/agent-tools/infrastructure) |
| `list_prompts`     | List available prompts from connected MCP servers. Conditional: active only when a connected server advertises prompts.                              | [Infrastructure](/agent-tools/infrastructure) |
| `list_resources`   | List available resources from connected MCP servers. Conditional: active only when a connected server advertises resources.                          | [Infrastructure](/agent-tools/infrastructure) |
| `read_resource`    | Read a specific resource from a connected MCP server. Conditional: active only when a connected server advertises resources.                         | [Infrastructure](/agent-tools/infrastructure) |

### Supervisor

Supervisor tools require admin-level trust. They manage the entire platform, not just the current agent's session. Only agents with the `supervisor` profile or explicit `allow` entries can use these tools.

<Warning>
  Supervisor tools can modify agents, delete sessions, flush memory, and manage gateway tokens. Grant these tools only to trusted agents that need fleet-wide control. See [tool policy](/skills/tool-policy) for how to restrict access.
</Warning>

| Tool               | Description                                                                  | Guide                                         |
| ------------------ | ---------------------------------------------------------------------------- | --------------------------------------------- |
| `agents_manage`    | Agent fleet management (create, get, update, delete, suspend, resume)        | [Infrastructure](/agent-tools/infrastructure) |
| `obs_query`        | Observability and metrics queries (diagnostics, billing, delivery, channels) | [Infrastructure](/agent-tools/infrastructure) |
| `sessions_manage`  | Session lifecycle management (delete, reset, export, compact)                | [Infrastructure](/agent-tools/infrastructure) |
| `channels_manage`  | Channel adapter management (list, get, enable, disable, restart, configure)  | [Infrastructure](/agent-tools/infrastructure) |
| `tokens_manage`    | Gateway token management (list, create, revoke, rotate)                      | [Infrastructure](/agent-tools/infrastructure) |
| `models_manage`    | Model catalog queries (list, test)                                           | [Infrastructure](/agent-tools/infrastructure) |
| `providers_manage` | Manage model provider configurations (add, remove, update providers)         | [Infrastructure](/agent-tools/infrastructure) |
| `skills_manage`    | Skill lifecycle management (list, import, delete) with per-agent scope       | [Infrastructure](/agent-tools/infrastructure) |

See also: `heartbeat_manage` (listed under the [Scheduling](#scheduling) section).

### Platform Actions

Platform action tools perform moderation and administration tasks specific to each messaging platform. Each tool wraps the native API of its platform, letting agents kick users, manage roles, pin messages, create channels, and more -- all from within a conversation.

The available actions vary by platform. See the [Platform Actions](/agent-tools/platform-actions) guide for the full list of actions per platform.

| Tool              | Actions                                                                                                                                                                                                     | Guide                                             |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| `discord_action`  | 19 actions: server moderation (kick, ban, role\_add/remove, set\_topic, set\_slowmode, guild/channel info, threadCreate/List/Reply, channelCreate/Edit/Delete/Move, pin/unpin, setPresence)                 | [Platform Actions](/agent-tools/platform-actions) |
| `telegram_action` | 12 actions: chat info & moderation (pin/unpin, poll, sticker, chat\_info, member\_count, get\_admins, set\_title, set\_description, ban/unban, promote)                                                     | [Platform Actions](/agent-tools/platform-actions) |
| `slack_action`    | 12 actions: workspace management (pin/unpin, set\_topic, set\_purpose, archive/unarchive, create\_channel, invite, kick, channel\_info, members\_list, bookmark\_add)                                       | [Platform Actions](/agent-tools/platform-actions) |
| `whatsapp_action` | 11 actions: group management (group\_info, group\_update\_subject/description, group\_participants\_add/remove, group\_promote/demote, group\_settings, group\_invite\_code, profile\_status, group\_leave) | [Platform Actions](/agent-tools/platform-actions) |

## Channel Messaging Capability Matrix

The `message` tool works across all 11 connected channels, but not every action is supported everywhere. The matrix below summarizes per-channel capabilities -- consult the [Channels Overview](/channels/index) for full per-channel detail.

| Channel  | Send | Reply         | React | Edit | Delete   | Fetch History | Threads      | Streaming |
| -------- | ---- | ------------- | ----- | ---- | -------- | ------------- | ------------ | --------- |
| Discord  | Yes  | Yes           | Yes   | Yes  | Yes      | Yes           | Native       | Edit      |
| Telegram | Yes  | Yes           | Yes   | Yes  | Yes      | No            | Forum topics | Edit      |
| Slack    | Yes  | Yes           | Yes   | Yes  | Yes      | Yes           | Reply chain  | Edit      |
| WhatsApp | Yes  | Yes (quoted)  | Yes   | Yes  | Own only | No            | None         | Block     |
| Signal   | Yes  | Yes (quoted)  | Yes   | No   | Yes      | No            | None         | Block     |
| iMessage | Yes  | No            | No    | No   | No       | Yes           | None         | None      |
| LINE     | Yes  | Yes (push)    | No    | No   | No       | No            | None         | None      |
| IRC      | Yes  | Mention only  | No    | No   | No       | No            | None         | None      |
| Email    | Yes  | Yes (headers) | No    | No   | No       | No            | Reply chain  | None      |

"Streaming" indicates how live agent output is delivered: `Edit` means the agent edits a placeholder message as content streams in; `Block` means the agent buffers and emits complete chunks; `None` means no streaming support (the agent waits for the full reply).

## Quick Access by Use Case

Not sure which tool you need? Start here. The table below maps common tasks to the specific tool and action that handles them. Each row links to the detailed guide page where you can find parameters, examples, and tips.

| I want to...                            | Use this tool                                                         | Guide                                                           |
| --------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------- |
| Send a message to a channel             | `message` (action: `send`)                                            | [Messaging](/agent-tools/messaging)                             |
| Send an alert that respects quiet hours | `notify_user`                                                         | [Messaging](/agent-tools/messaging)                             |
| Schedule a daily task                   | `cron` (action: `add`, schedule\_kind: `cron`)                        | [Scheduling](/agent-tools/scheduling)                           |
| Set a one-time reminder                 | `cron` (action: `add`, schedule\_kind: `at`)                          | [Scheduling](/agent-tools/scheduling)                           |
| Run something every N minutes           | `cron` (action: `add`, schedule\_kind: `every`)                       | [Scheduling](/agent-tools/scheduling)                           |
| Delegate work to another agent          | `sessions_spawn`                                                      | [Sessions](/agent-tools/sessions)                               |
| Run a multi-step workflow               | `pipeline` (action: `execute`)                                        | [Pipelines](/agent-tools/pipelines)                             |
| Have multiple agents debate or vote     | `pipeline` (with `type_id: debate` or `vote`)                         | [Pipelines](/agent-tools/pipelines)                             |
| Analyze an uploaded image               | `image_analyze`                                                       | [Media](/agent-tools/media)                                     |
| Generate an image                       | `image_generate`                                                      | [Media](/agent-tools/media)                                     |
| Transcribe a voice message              | `transcribe_audio`                                                    | [Media](/agent-tools/media)                                     |
| Speak a reply with TTS                  | `tts_synthesize` then `message` action `attach`                       | [Media](/agent-tools/media)                                     |
| Search the web                          | `web_search`                                                          | [Web Tools](/agent-tools/web-tools)                             |
| Read a single web page                  | `web_fetch`                                                           | [Web Tools](/agent-tools/web-tools)                             |
| Scrape a JavaScript-heavy site          | `browser` (`navigate`, `snapshot`, `act`)                             | [Browser](/agent-tools/browser)                                 |
| Kick a user from Discord                | `discord_action` (action: `kick`)                                     | [Platform Actions](/agent-tools/platform-actions)               |
| Pin the first message of the day        | `discord_action` / `telegram_action` / `slack_action` (action: `pin`) | [Platform Actions](/agent-tools/platform-actions)               |
| Remember something for later            | `memory_store`                                                        | [Sessions](/agent-tools/sessions#memory-tools-long-term-memory) |
| Read a PDF attachment                   | `extract_document`                                                    | [Media](/agent-tools/media)                                     |
| Check what's scheduled                  | `cron` (action: `list`)                                               | [Scheduling](/agent-tools/scheduling)                           |
| Toggle a config value                   | `gateway` (action: `patch` then `apply`)                              | [Infrastructure](/agent-tools/infrastructure)                   |
| Connect a new MCP server                | `mcp_manage` (action: `connect`)                                      | [Infrastructure](/agent-tools/infrastructure)                   |

## Tool Guides

Explore each tool category in detail:

<CardGroup cols={3}>
  <Card title="Scheduling" icon="clock" href="/agent-tools/scheduling">
    Cron jobs, heartbeat timing, and automated tasks
  </Card>

  <Card title="Messaging" icon="paper-plane" href="/agent-tools/messaging">
    Send, reply, react, edit, and delete messages
  </Card>

  <Card title="Sessions" icon="users" href="/agent-tools/sessions">
    Sessions, sub-agents, and long-term memory
  </Card>

  <Card title="Pipelines" icon="diagram-project" href="/agent-tools/pipelines">
    Multi-agent execution graphs (DAGs) with 7 node types
  </Card>

  <Card title="Media" icon="photo-film" href="/agent-tools/media">
    Image analysis, text-to-speech, transcription, and documents
  </Card>

  <Card title="Infrastructure" icon="server" href="/agent-tools/infrastructure">
    Configuration, gateway control, and fleet management
  </Card>

  <Card title="Browser" icon="window-maximize" href="/agent-tools/browser">
    Headless browser automation and web interaction
  </Card>

  <Card title="Web Tools" icon="globe" href="/agent-tools/web-tools">
    Web search across 8 providers and content fetching
  </Card>

  <Card title="Platform Actions" icon="gavel" href="/agent-tools/platform-actions">
    Discord, Telegram, Slack, and WhatsApp moderation
  </Card>
</CardGroup>
