Skip to content

Toolsets & approval

Toolsets group related tools. Approval settings control what Hermes can do without asking.

Command approval

For offline agents with shell access, I keep approvals on. Hermes uses an approvals.mode setting:

yaml
approvals:
  mode: manual   # manual | smart | off

Hermes shows flagged commands and waits for your OK before running them. Critical when the agent has access to your real filesystem.

Approval modes

ModeBehavior
manual (default)Prompt before any command flagged as dangerous
smartLLM classifier judges risk; auto-runs clearly safe commands, prompts on genuinely destructive ones
offSkip all approval checks (equivalent to --yolo / HERMES_YOLO_MODE). Sandboxed environments only

smart is a good middle ground once you trust your setup: it reduces approval fatigue while still catching rm -rf, DROP TABLE, and similar. You can also toggle at runtime with /yolo or per-command by approving the prompt.

Container isolation

Hermes supports multiple terminal backends for safer execution:

BackendUse case
localDirect on your machine (my laptop setup)
DockerSandboxed container
SSHRemote server
Daytona / ModalCloud serverless

For local offline work, the local backend with approvals.mode: manual is the practical balance.

Disabling toolsets for offline

If you're fully offline, disable web-dependent toolsets to prevent the agent from trying (and failing) to reach the internet. Use agent.disabled_toolsets, which removes them across the CLI and every gateway platform:

yaml
agent:
  disabled_toolsets:
    - web        # no web_search / web_extract
    - browser    # no browser automation
    - image_gen  # no image generation

This saves context tokens and reduces confusion. For finer, per-platform control, use the interactive hermes tools UI or the in-session /tools disable <name> command.

Common toolset names

file, terminal, web, search, browser, vision, image_gen, memory, skills, delegation, code_execution, cronjob, session_search, tts, todo. See the official Toolsets Reference for the full list.

Real scenario

I once asked Hermes to "check the latest npm version of vitepress." Offline, it tried web search, failed, and wasted a tool round. After disabling web toolsets, it correctly said "I can't reach the internet" and suggested npm view vitepress version instead (which also needs network, but the point stands: configure toolsets to match your environment).

Next: MCP integration.

Personal learning notes on Hermes Agent. Not affiliated with Nous Research. Verify against official docs.