> ## Documentation Index
> Fetch the complete documentation index at: https://docs.herm.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory and self-learning

> Understand subject-scoped memory, session recall, and learned skills.

Herm carries useful context across sessions without requiring your application
to replay every prior turn. Memory is scoped to the organization, agent, and
stable `subjectId` supplied when a session is created.

## Memory

The built-in `memory` tool lets the agent save, replace, and remove durable
facts. `session_search` lets it retrieve relevant context from previous
conversations. Both toolsets can be configured through the agent's `tools`
array.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "type": "agent_toolset",
  "configs": [
    { "name": "memory", "enabled": true },
    { "name": "session_search", "enabled": true }
  ]
}
```

Reuse the same `subjectId` for the same person, team, organization, or workspace.
Changing it intentionally creates a separate memory and workspace boundary.

## Self-learning

After turns, Hermes periodically reviews work to identify durable facts and
reusable procedures. Useful procedures can become learned skills in the
subject's persistent workspace and can inform later sessions.

Background review is asynchronous and best effort; do not use it as the system
of record for data your application must retain. Put mandatory instructions in
the agent's configured `skills` array instead.

Configured skills are versioned agent configuration. Learned skills are scoped
to an agent and subject and survive across sessions. Public learned-skill
management endpoints are not currently available.

See [Skills](/api-reference/skills) for configured skill behavior and
[Tools](/api-reference/tools#built-in-agent-toolsets) for memory tool controls.
