Skip to main content
Omnara includes built-in tools for common agent tasks. Add a tool by name under tools: in the agent’s config. Built-in tools default to always_allow, but you can change the permission for each one. This page explains what each tool does and the inputs it accepts. To retrieve the current catalog programmatically, use GET /tool-catalog. The tools are grouped by what they do: A red * marks required inputs.

Web

Searches the public web and returns matching URLs, titles, and snippets.

web_fetch

Fetches a public HTTP or HTTPS URL and returns readable content as Markdown or plain text. It cannot access localhost or private networks. To reach a service on an attached machine, use run_command with curl.

Questions

ask_question

Asks a person one or more multiple-choice questions. The agent pauses until the resulting interaction is answered. Omnara automatically adds an Other option for free-text responses.

Commands

run_command

Runs a shell command on a machine attached to the agent. Every command returns a process_id (prc_…). wait_ms controls how long run_command waits for the command to finish before returning. If it finishes in time, the result includes its output:
If the command is still running after wait_ms, the tool returns "state": "running". The agent can then read its output, send input, or stop it with the process tools below. Set run_command to always_ask to require approval before execution. The prompt shows the command, machine, shell, and working directory.

Picking a machine

machine_ref chooses which attached machine runs the command:
  • With one available machine, omit machine_ref.
  • With several, specify one.
  • With none, attach a machine in the config or use create_machine.
If Omnara cannot choose a machine, the tool returns an error to the agent so it can inspect its machines and retry.

Processes

Use these tools to follow or control commands that are still running. A process moves from starting to running, then ends as exited, failed, or killed.

read_process

Reads process output from a byte cursor and can briefly wait for new output.

write_process

Sends input to a running process or closes its standard input.

stop_process

Interrupts a process gracefully or terminates it. Repeating the call after the process has stopped is safe.

list_processes

No inputs. Returns the agent’s active processes with their state, command label, and working directory.

When machines misbehave

Agents remain observable when machine state changes:
  • The machine disconnects — the agent can wait for it to reconnect or continue elsewhere. Retained output and process state remain available.
  • Output exceeds retentionread_process returns truncated: true when older output has been dropped. For large output, write it to a file and read only what you need.
  • The machine is deleted — its processes end and its binding is released.

Machines

These tools let an agent inspect its BYO and pool-backed machines, and create or delete pool-backed machines. Its config and machine or pool grants determine which machines it can use and how many pool-backed machines it can create.

create_machine

Creates a machine from an available pool. Specify machine_pool_name only when the config provides more than one pool.

delete_machine

Deletes a pool-backed machine. Requires machine_ref.

list_machines / inspect_machine

list_machines lists the agent’s BYO and pool-backed machines. inspect_machine shows whether a specific machine is ready to run commands; provide machine_ref when the agent has more than one. Results identify the machine’s source_kind and binding_kind; only pool bindings can be passed to delete_machine.

Integrations

send_integration_message

Sends a message to the agent’s current integration target, such as a Slack thread or DM. Requires text. For agents reached through an integration, only messages sent with this tool are visible there; ordinary model output remains in Omnara. This tool supports only always_allow.

set_integration_target

Changes where future integration messages and approval or question prompts are sent. Requires target_ref.

Skills

skill

Loads an attached skill. Requires its skill name. The tool returns the skill’s instructions and, when the agent has machines, installs its supporting files there.
Full inputs and defaults, live from your deployment: Get tool catalog.