Skip to main content
Toolsets are named groups of tools. You select toolsets at startup (via --toolsets or toolsets: in config) and the agent only has access to the tools in the active set.

How to use toolsets

Pass a comma-separated list of toolsets to the --toolsets / -t flag:
hermes -t web,terminal,file
hermes -t research
hermes -t all
The special alias all resolves to every available toolset.

Core toolsets

These single-purpose toolsets can be composed into custom configurations.
ToolsetToolsDescription
webweb_search, web_extractWeb research and content extraction
searchweb_searchWeb search only — no scraping
terminalterminal, processCommand execution and process management
fileread_file, write_file, patch, search_filesFile operations: read, write, patch, and search
browserbrowser_navigate, browser_snapshot, browser_click, browser_type, browser_scroll, browser_back, browser_press, browser_close, browser_get_images, browser_vision, browser_console, web_searchFull browser automation
visionvision_analyzeImage analysis
image_genimage_generateImage generation with FLUX
skillsskills_list, skill_view, skill_manageLoad, inspect, and manage skill documents
moamixture_of_agentsMixture-of-Agents reasoning
ttstext_to_speechText-to-speech (Edge TTS, ElevenLabs, OpenAI)
todotodoIn-session task planning and tracking
memorymemoryPersistent memory across sessions
session_searchsession_searchSearch and recall past conversations
clarifyclarifyAsk the user clarifying questions
code_executionexecute_codeRun Python scripts that call tools via RPC
delegationdelegate_taskSpawn subagents with isolated context
cronjobcronjobSchedule and manage automated tasks
messagingsend_messageCross-platform messaging (Telegram, Discord, Slack, etc.)
honchohoncho_context, honcho_profile, honcho_search, honcho_concludeHoncho AI-native cross-session user memory
homeassistantha_list_entities, ha_get_state, ha_list_services, ha_call_serviceHome Assistant smart home control
rlrl_list_environments, rl_select_environment, rl_get_current_config, rl_edit_config, rl_start_training, rl_check_status, rl_stop_training, rl_get_results, rl_list_runs, rl_test_inferenceRL training (Tinker-Atropos)

Composite toolsets

Composite toolsets include all tools from their member toolsets.
ToolsetIncludesDescription
debuggingterminal, web, fileDebugging and troubleshooting toolkit
safeweb, vision, image_gen, moaRead-only toolkit without terminal access

Platform presets

Platform presets are curated bundles for each messaging platform. They include all tools from _HERMES_CORE_TOOLS (the full tool set).
PresetDescription
hermes-cliFull interactive CLI — all core tools including cronjob management
hermes-telegramTelegram bot — full access with dangerous command approval
hermes-discordDiscord bot — full access with dangerous command approval
hermes-whatsappWhatsApp bot — full access (personal messaging, trusted)
hermes-slackSlack bot — full access for workspace use
hermes-signalSignal bot — encrypted messaging, full access
hermes-homeassistantHome Assistant bot — smart home event monitoring and control
hermes-emailEmail bot (IMAP/SMTP) — full access
hermes-smsSMS bot (Twilio) — full access
hermes-acpEditor integration (VS Code, Zed, JetBrains) — coding-focused, no messaging or audio
hermes-gatewayUnion of all messaging platform presets

Custom toolset composition

You can create ad-hoc toolsets in config.yaml by listing multiple built-in toolsets. Tool names are deduplicated automatically.
# Minimal: web + terminal + planning
toolsets:
  - web
  - terminal
  - todo

# Research mode: no code execution
toolsets:
  - web
  - vision
  - skills
  - memory

# Full automation: browser + terminal + files
toolsets:
  - terminal
  - browser
  - web
  - file
You can also compose toolsets at runtime:
hermes -t web,terminal,todo

Required API keys per toolset

Some toolsets require API keys to be functional. Tools with unsatisfied requirements are silently excluded from the agent’s tool list.
ToolsetRequired keys
webPARALLEL_API_KEY, FIRECRAWL_API_KEY, or TAVILY_API_KEY (at least one)
visionOPENROUTER_API_KEY (or another multimodal provider)
image_genFAL_KEY
moaOPENROUTER_API_KEY
browserNone for local browser; BROWSERBASE_API_KEY + BROWSERBASE_PROJECT_ID for cloud
ttsNone for Edge TTS (free); ELEVENLABS_API_KEY or VOICE_TOOLS_OPENAI_KEY for premium voices
honchoHONCHO_API_KEY + ~/.honcho/config.json
homeassistantHASS_TOKEN (Home Assistant long-lived access token)
rlTINKER_API_KEY
Run hermes doctor to check which toolsets are available and what is missing.

Build docs developers (and LLMs) love