# Hermes Agent

Connect native and MCP tool hooks, including Hermes first-use consent.

Updated: 2026-09-22

Canonical: https://docs.kastra.ai/edge/hermes

## Install the hooks

After [installing Edge](https://docs.kastra.ai/edge/install) and Hermes:

```sh
kastra-edge login
kastra-edge install-hermes --dry-run
kastra-edge install-hermes
```

The installer targets `$HERMES_HOME/config.yaml`, defaulting to `~/.hermes/config.yaml`, while preserving existing hooks. It wires `pre_tool_call` and `post_tool_call`.

## Complete Hermes consent

Writing configuration is only half of setup. Hermes requires consent for each shell-hook event/command pair. Start Hermes interactively and complete its hook approval, then inspect:

```sh
hermes hooks list
hermes hooks doctor
kastra-edge doctor
```

A non-interactive gateway or scheduled run can skip an unapproved hook even when the configuration is present. Do not enable a blanket hook auto-accept setting just to hide this requirement.

## Coverage and failure behavior

`pre_tool_call` is the blocking hook. `post_tool_call` is audit-only; Hermes ignores block directives on other events. Both native and MCP tool calls exposed by those hooks can be evaluated. Chat-model traffic requires a separate proxy integration.

The installer detects Hermes support for `fail_closed` and reports configuration drift. Older versions can ignore that setting; verify the version and doctor output instead of inferring protection from the YAML key.

## Verify and remove

Test a harmless allow, deny, and approval with actual hook execution. Review Windows-specific limitations before rollout. Remove only the managed integration with `kastra-edge uninstall-hermes` when needed.
