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.
Command line
config.yaml
Per-platform
In session
Pass a comma-separated list of toolsets to the --toolsets / -t flag:hermes -t web,terminal,file
hermes -t research
hermes -t all
Set the toolsets key to a list:Or specify individual toolsets:toolsets:
- web
- terminal
- file
- todo
Override toolsets per messaging platform:platform_toolsets:
cli: [hermes-cli]
telegram: [web, terminal, file, todo]
discord: [web, vision, skills]
Use /toolsets to list active toolsets, or /tools list to see every tool:/toolsets
/tools list
/tools disable browser
/tools enable web
The special alias all resolves to every available toolset.
These single-purpose toolsets can be composed into custom configurations.
| Toolset | Tools | Description |
|---|
web | web_search, web_extract | Web research and content extraction |
search | web_search | Web search only — no scraping |
terminal | terminal, process | Command execution and process management |
file | read_file, write_file, patch, search_files | File operations: read, write, patch, and search |
browser | browser_navigate, browser_snapshot, browser_click, browser_type, browser_scroll, browser_back, browser_press, browser_close, browser_get_images, browser_vision, browser_console, web_search | Full browser automation |
vision | vision_analyze | Image analysis |
image_gen | image_generate | Image generation with FLUX |
skills | skills_list, skill_view, skill_manage | Load, inspect, and manage skill documents |
moa | mixture_of_agents | Mixture-of-Agents reasoning |
tts | text_to_speech | Text-to-speech (Edge TTS, ElevenLabs, OpenAI) |
todo | todo | In-session task planning and tracking |
memory | memory | Persistent memory across sessions |
session_search | session_search | Search and recall past conversations |
clarify | clarify | Ask the user clarifying questions |
code_execution | execute_code | Run Python scripts that call tools via RPC |
delegation | delegate_task | Spawn subagents with isolated context |
cronjob | cronjob | Schedule and manage automated tasks |
messaging | send_message | Cross-platform messaging (Telegram, Discord, Slack, etc.) |
honcho | honcho_context, honcho_profile, honcho_search, honcho_conclude | Honcho AI-native cross-session user memory |
homeassistant | ha_list_entities, ha_get_state, ha_list_services, ha_call_service | Home Assistant smart home control |
rl | rl_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_inference | RL training (Tinker-Atropos) |
Composite toolsets include all tools from their member toolsets.
| Toolset | Includes | Description |
|---|
debugging | terminal, web, file | Debugging and troubleshooting toolkit |
safe | web, vision, image_gen, moa | Read-only toolkit without terminal access |
Platform presets are curated bundles for each messaging platform. They include all tools from _HERMES_CORE_TOOLS (the full tool set).
| Preset | Description |
|---|
hermes-cli | Full interactive CLI — all core tools including cronjob management |
hermes-telegram | Telegram bot — full access with dangerous command approval |
hermes-discord | Discord bot — full access with dangerous command approval |
hermes-whatsapp | WhatsApp bot — full access (personal messaging, trusted) |
hermes-slack | Slack bot — full access for workspace use |
hermes-signal | Signal bot — encrypted messaging, full access |
hermes-homeassistant | Home Assistant bot — smart home event monitoring and control |
hermes-email | Email bot (IMAP/SMTP) — full access |
hermes-sms | SMS bot (Twilio) — full access |
hermes-acp | Editor integration (VS Code, Zed, JetBrains) — coding-focused, no messaging or audio |
hermes-gateway | Union of all messaging platform presets |
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
Some toolsets require API keys to be functional. Tools with unsatisfied requirements are silently excluded from the agent’s tool list.
| Toolset | Required keys |
|---|
web | PARALLEL_API_KEY, FIRECRAWL_API_KEY, or TAVILY_API_KEY (at least one) |
vision | OPENROUTER_API_KEY (or another multimodal provider) |
image_gen | FAL_KEY |
moa | OPENROUTER_API_KEY |
browser | None for local browser; BROWSERBASE_API_KEY + BROWSERBASE_PROJECT_ID for cloud |
tts | None for Edge TTS (free); ELEVENLABS_API_KEY or VOICE_TOOLS_OPENAI_KEY for premium voices |
honcho | HONCHO_API_KEY + ~/.honcho/config.json |
homeassistant | HASS_TOKEN (Home Assistant long-lived access token) |
rl | TINKER_API_KEY |
Run hermes doctor to check which toolsets are available and what is missing.