Tool reference (80 tools)
Generated from the live registry (bench/dump_tools.py --json) at build time, so this page cannot drift from the code. Lazy groups keep the per-turn surface lean: every tool stays registered, but low-frequency groups are only advertised to the model when the turn needs them — see Architecture.
Core (advertised every turn)
Always in the model's tool surface: memory, vault, web, Telegram, music, PC control, reminders, protocols, utilities.
| Tool | Module | What it does |
|---|---|---|
browse_web | web | Open a real headless browser to navigate and extract from a page that needs interaction or JavaScript. |
browser | browser | Drive a real visible web browser on the owner's screen: open a URL or new tab, click links/buttons (by visible text or CSS selector), fill form fields, type text, press keys (e.g. |
cancel_reminder | reminders | Cancel a reminder by its id (a short prefix from list_reminders is fine). |
check_telegram | telegram | Read the owner's unread Telegram direct messages and summarize them aloud. |
convert | utility | Convert a quantity between units (length/mass/volume/temperature) or between two currency codes. |
crypto_price | utility | Current price of a cryptocurrency by ticker (btc, eth, sol…), with 24h change. |
define_word | utility | Dictionary definition of an English word. |
file_op | system | Create or delete files and folders on the owner's PC, or list a folder. |
forget | memory | Delete the best-matching fact from long-term memory ('forget that X'). |
fx_rate | utility | Convert between currencies at the latest ECB reference rate (e.g. |
list_reminders | reminders | List the owner's pending reminders with their next fire time and id. |
list_skills | skills | List your available skill playbooks (coding, self-improvement, your own architecture, languages…). |
list_tasks | tasks | List the background tasks Watari is currently running (e.g. |
mark_telegram | telegram | Change a chat's read state. |
news_brief | utility | A short headline brief — top tech/world stories, or news matching a topic. |
open_app | system | Launch an application or executable on the owner's PC by name or path (e.g. |
open_url | system | Open a URL in the owner's default browser on his PC (e.g. |
play_music | music | Play a song or artist. |
process_op | system | Manage processes: list running processes (optionally filtered by name), kill a process by name or pid, or start a new process/app. |
read_chat | telegram | Read aloud the last messages of a specific Telegram chat — whether or not they're unread — WITHOUT marking them seen (the sender still sees them as just delivered). |
read_journal | memory | Read your most recent daily journal — a summary of recent sessions — for continuity ('what did we do yesterday / recently'). |
read_skill | skills | Open one of your skill playbooks by name (e.g. |
read_vault_note | vault | Read the full text of a specific vault note by its relative path (as returned by search_vault, e.g. |
recall | memory | Search your long-term memory for what you've learned about a topic or person. |
remember | memory | Save a durable fact to long-term memory so you recall it in future sessions. |
resolve_contact | contacts | Resolve a person's NAME to their email / Telegram / phone before sending or drafting to them. |
routine | routines | Run a named behavioural routine (not a password protocol). |
run_powershell | system | Run a PowerShell command on the owner's PC and get the output. |
run_protocol | protocols | Run a named protocol — a privileged routine that requires the owner's password. |
scrape_url | web | Fetch a single web page and return its main text as clean Markdown. |
search_vault | vault | Search the owner's Obsidian knowledge vault (his notes, project charters, agent docs, decisions) for a topic and get the top matching notes with snippets. |
self_health | routines | Report on your own health — vault readability, cache backend, reminder host — and your current mode. |
send_push | notify | Send a push notification to the owner's phone (ntfy). |
send_telegram | telegram | Send a Telegram message, a GIF, or a file. |
set_home_location | routines | Set or report the owner's CURRENT home location (a changeable variable — e.g. |
set_reminder | reminders | Set a reminder that will be spoken (and pushed to his phone) when it fires. |
stock_price | utility | Latest stock/ETF quote by ticker (e.g. |
stop_music | localplay | Stop music that's playing OUT LOUD on the desktop (a local track, e.g. |
task_status | tasks | Report the status/progress of a background task by a word from its description (or its id). |
telegram_music | telegram | Play from the owner's personal Telegram music playlist. |
weather | utility | Current weather for a place (temp, feels-like, wind). |
web_search | web | Search the web for current information (news, facts, how-tos, prices) and get a synthesized answer with sources. |
wiki_lookup | utility | A concise Wikipedia summary of a topic, person, or thing. |
write_vault | vault | Save a note INTO the owner's Obsidian vault — append to (default) or create a note. |
Apps via Composio (lazy group)
250+ external apps (GitHub, Slack, Drive, …) behind two meta-tools.
| Tool | Module | What it does |
|---|---|---|
composio_find_tools | composio | Search the owner's CONNECTED external apps (GitHub, Slack, Google Drive/Docs/Sheets, Linear, Stripe, Airtable, Google Maps, YouTube, LinkedIn, Reddit, Coinbase, …) for the right tool to perform an action. |
composio_run_tool | composio | Execute a specific Composio app tool by its exact slug (from composio_find_tools) with its arguments. |
Coding (lazy group)
Repo-scoped self-improvement: read/write source, tests, lint, reversible git.
| Tool | Module | What it does |
|---|---|---|
git_commit | coding | Commit your changes (reversible). |
git_diff | coding | Show the diff of your uncommitted changes (optionally for one path). |
git_log | coding | Show recent commits (oneline). |
git_new_branch | coding | Create and switch to a new branch before a self-improvement change (keeps master clean). |
git_push | coding | Push the current branch to GitHub (origin). |
git_revert | coding | Undo a commit by creating a NEW revert commit (history is preserved, nothing is lost). |
git_status | coding | Show your repo's working-tree status (branch + changed files). |
lint | coding | Run ruff on your code (default: src and bench). |
list_source | coding | List a folder in your project (repo-relative). |
read_source | coding | Read one of your own project source files (repo-relative path). |
run_tests | coding | Run the full Jarvis test suite (bench/run_all_tests.py). |
write_source | coding | Write/replace one of your own source files (repo-relative). |
Documents (lazy group)
Open a local document and answer questions grounded in it.
| Tool | Module | What it does |
|---|---|---|
ask_document | documents | Ask a question about the currently-open document; returns the most relevant passages to answer from. |
close_document | documents | Close the open document and drop its temporary index when you're done with it. |
read_document | documents | Open a LOCAL document (text, Markdown, code, CSV, JSON; PDF if a reader is installed) into a temporary index so you can answer questions grounded in it. |
Home (lazy group)
Home Assistant control and the Telegram music-room voicechat.
| Tool | Module | What it does |
|---|---|---|
ha_call | smarthome | Call a Home Assistant service to control a device: domain + service (+ optional entity). |
ha_state | smarthome | Read the current state of a Home Assistant device by entity id ('is the front door locked?', 'is the living room light on?'). |
play_in_music_room | voicechat | Stream a song into the owner's 'Jarvis Music Room' Telegram voice chat so it plays live on his PHONE (he joins that voice chat to listen). |
stop_music_room | voicechat | Stop playback and leave the Jarvis Music Room Telegram voice chat. |
Office (lazy group)
Gmail, Google Calendar, and Notion.
| Tool | Module | What it does |
|---|---|---|
create_event | calendar | Create a Google Calendar event. |
draft_email | gmail | Save a Gmail draft (does NOT send). |
list_events | calendar | List upcoming Google Calendar events. |
notion_append | notion | Append a paragraph of text to a Notion page (a write). |
notion_comment | notion | Leave a comment on a Notion page. |
notion_complete_task | notion | Mark a task as Done. |
notion_create_page | notion | Create a new sub-page under a Notion parent page. |
notion_create_task | notion | Create a new task in the owner's Notion tasks dashboard. |
notion_delete_task | notion | Delete (archive) a task from the dashboard. |
notion_read_page | notion | Read the text content of a Notion page by id ('read me the project page'). |
notion_search | notion | Search the owner's Notion (only pages shared with the integration) for a page or database. |
notion_tasks | notion | Read the owner's Notion TASKS dashboard and report what needs doing: overdue, due today, upcoming this week (with deadlines), and recurring/standing tasks. |
notion_update_task | notion | Change a task's status, deadline, or priority. |
read_email | gmail | Read the owner's Gmail — unread by default, or a Gmail search query (e.g. |
send_email | gmail | Send an email via Gmail. |
Safety. Reads run freely; outward or destructive actions (send, delete, spend, lock, write to external apps) are confirm-gated — see Security.