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.

ToolModuleWhat it does
browse_webwebOpen a real headless browser to navigate and extract from a page that needs interaction or JavaScript.
browserbrowserDrive 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_reminderremindersCancel a reminder by its id (a short prefix from list_reminders is fine).
check_telegramtelegramRead the owner's unread Telegram direct messages and summarize them aloud.
convertutilityConvert a quantity between units (length/mass/volume/temperature) or between two currency codes.
crypto_priceutilityCurrent price of a cryptocurrency by ticker (btc, eth, sol…), with 24h change.
define_wordutilityDictionary definition of an English word.
file_opsystemCreate or delete files and folders on the owner's PC, or list a folder.
forgetmemoryDelete the best-matching fact from long-term memory ('forget that X').
fx_rateutilityConvert between currencies at the latest ECB reference rate (e.g.
list_remindersremindersList the owner's pending reminders with their next fire time and id.
list_skillsskillsList your available skill playbooks (coding, self-improvement, your own architecture, languages…).
list_taskstasksList the background tasks Watari is currently running (e.g.
mark_telegramtelegramChange a chat's read state.
news_briefutilityA short headline brief — top tech/world stories, or news matching a topic.
open_appsystemLaunch an application or executable on the owner's PC by name or path (e.g.
open_urlsystemOpen a URL in the owner's default browser on his PC (e.g.
play_musicmusicPlay a song or artist.
process_opsystemManage processes: list running processes (optionally filtered by name), kill a process by name or pid, or start a new process/app.
read_chattelegramRead 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_journalmemoryRead your most recent daily journal — a summary of recent sessions — for continuity ('what did we do yesterday / recently').
read_skillskillsOpen one of your skill playbooks by name (e.g.
read_vault_notevaultRead the full text of a specific vault note by its relative path (as returned by search_vault, e.g.
recallmemorySearch your long-term memory for what you've learned about a topic or person.
remembermemorySave a durable fact to long-term memory so you recall it in future sessions.
resolve_contactcontactsResolve a person's NAME to their email / Telegram / phone before sending or drafting to them.
routineroutinesRun a named behavioural routine (not a password protocol).
run_powershellsystemRun a PowerShell command on the owner's PC and get the output.
run_protocolprotocolsRun a named protocol — a privileged routine that requires the owner's password.
scrape_urlwebFetch a single web page and return its main text as clean Markdown.
search_vaultvaultSearch 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_healthroutinesReport on your own health — vault readability, cache backend, reminder host — and your current mode.
send_pushnotifySend a push notification to the owner's phone (ntfy).
send_telegramtelegramSend a Telegram message, a GIF, or a file.
set_home_locationroutinesSet or report the owner's CURRENT home location (a changeable variable — e.g.
set_reminderremindersSet a reminder that will be spoken (and pushed to his phone) when it fires.
stock_priceutilityLatest stock/ETF quote by ticker (e.g.
stop_musiclocalplayStop music that's playing OUT LOUD on the desktop (a local track, e.g.
task_statustasksReport the status/progress of a background task by a word from its description (or its id).
telegram_musictelegramPlay from the owner's personal Telegram music playlist.
weatherutilityCurrent weather for a place (temp, feels-like, wind).
web_searchwebSearch the web for current information (news, facts, how-tos, prices) and get a synthesized answer with sources.
wiki_lookuputilityA concise Wikipedia summary of a topic, person, or thing.
write_vaultvaultSave 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.

ToolModuleWhat it does
composio_find_toolscomposioSearch 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_toolcomposioExecute 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.

ToolModuleWhat it does
git_commitcodingCommit your changes (reversible).
git_diffcodingShow the diff of your uncommitted changes (optionally for one path).
git_logcodingShow recent commits (oneline).
git_new_branchcodingCreate and switch to a new branch before a self-improvement change (keeps master clean).
git_pushcodingPush the current branch to GitHub (origin).
git_revertcodingUndo a commit by creating a NEW revert commit (history is preserved, nothing is lost).
git_statuscodingShow your repo's working-tree status (branch + changed files).
lintcodingRun ruff on your code (default: src and bench).
list_sourcecodingList a folder in your project (repo-relative).
read_sourcecodingRead one of your own project source files (repo-relative path).
run_testscodingRun the full Jarvis test suite (bench/run_all_tests.py).
write_sourcecodingWrite/replace one of your own source files (repo-relative).

Documents (lazy group)

Open a local document and answer questions grounded in it.

ToolModuleWhat it does
ask_documentdocumentsAsk a question about the currently-open document; returns the most relevant passages to answer from.
close_documentdocumentsClose the open document and drop its temporary index when you're done with it.
read_documentdocumentsOpen 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.

ToolModuleWhat it does
ha_callsmarthomeCall a Home Assistant service to control a device: domain + service (+ optional entity).
ha_statesmarthomeRead 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_roomvoicechatStream 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_roomvoicechatStop playback and leave the Jarvis Music Room Telegram voice chat.

Office (lazy group)

Gmail, Google Calendar, and Notion.

ToolModuleWhat it does
create_eventcalendarCreate a Google Calendar event.
draft_emailgmailSave a Gmail draft (does NOT send).
list_eventscalendarList upcoming Google Calendar events.
notion_appendnotionAppend a paragraph of text to a Notion page (a write).
notion_commentnotionLeave a comment on a Notion page.
notion_complete_tasknotionMark a task as Done.
notion_create_pagenotionCreate a new sub-page under a Notion parent page.
notion_create_tasknotionCreate a new task in the owner's Notion tasks dashboard.
notion_delete_tasknotionDelete (archive) a task from the dashboard.
notion_read_pagenotionRead the text content of a Notion page by id ('read me the project page').
notion_searchnotionSearch the owner's Notion (only pages shared with the integration) for a page or database.
notion_tasksnotionRead 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_tasknotionChange a task's status, deadline, or priority.
read_emailgmailRead the owner's Gmail — unread by default, or a Gmail search query (e.g.
send_emailgmailSend 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.