# Hermes Agent forgets things mid-conversation

> Why a long Hermes session can lose earlier details after context compression, and how to keep the important parts in view.

Canonical: https://hermeswatcher.com/troubleshoot/forgets-mid-conversation  
Section: Troubleshooting · Memory & context  
Last reviewed: Oct 20, 2026  
Basis: Explained from the official Hermes Agent docs and repository (Nous Research). Steps follow the linked official sources.

## What you see

Deep into a long session, Hermes stops honouring an instruction you gave early on, asks again for a file path you already shared, or contradicts a decision from an hour ago. Sometimes it follows a message saying context was compressed, or you notice the session title gained a #2.

## Likely causes

Every model has a fixed context window, so a long session can't keep every word forever. Hermes handles this by compressing: it keeps the start and the most recent turns verbatim and replaces the middle with a summary written by a model. That keeps the session usable, but a summary is lossy, and small details from the middle are the first to go.

- Automatic context compression ran. By default it triggers at 50% of the context limit (75% for models under 512K), keeps the first 3 and at least the last 20 messages intact and summarises the middle. Details that lived only in the middle can be lost or blurred in the summary.
- The compression model's context window is smaller than your main model's. The docs warn that in this case middle turns are dropped without a summary.
- Hermes misdetected the model's context length (common with local servers), so compression fires at the wrong point or requests overflow.
- You expected something to be remembered in memory, but memory writes only appear in the prompt from the next session.

## Check this first

- /context or /usage: how full is the window, and what limit has Hermes detected? The startup line also shows it.
- hermes config get compression.threshold and hermes config get auxiliary.compression.model.
- hermes sessions list: a numbered continuation (#2, #3) means compression created a linked session.
- Is the forgotten detail a durable fact (belongs in memory or a context file) or session-specific (belongs in the conversation)?

## Fix

- Restate the key constraint in a fresh message; recent turns are protected from compression.
- Put standing instructions in a context file such as AGENTS.md rather than an early chat message. Context files are loaded every session instead of competing with chat history.
- Ask Hermes to search the earlier session: session_search returns the raw original messages, not the summary.
- If you use a separate summariser, make sure its context window is at least as large as the main model's, or leave auxiliary.compression.model empty to use the main model.
- Fix context detection by setting context_length under model: in config.yaml; for local servers, match the server's own context size.
- Tune compression.threshold or compression.protect_last_n if your work needs more verbatim history. compression.* changes apply on the next message, even on a running gateway.
- Break long work into separate sessions with /new at natural boundaries, and save conclusions as you go.

## If it still fails

If even recent instructions are ignored, the problem is probably not compression: run /status to confirm which model is answering (a fallback provider may have taken over for the turn) and try the same prompt in a fresh session. If you see 'compression could not reduce the rebuilt request', the docs say the server's real window is likely smaller than configured. For very long-running projects, consider an external memory provider or a project record file the agent updates explicitly, so important decisions never depend on chat history alone.

## Related guides

- [Hermes Agent sessions: search and resume past work](https://hermeswatcher.com/learn/sessions-and-session-search.md)
- [How Hermes Agent memory works (and where it stops)](https://hermeswatcher.com/learn/how-hermes-memory-works.md)
- [Hermes Agent memory not carrying over between sessions](https://hermeswatcher.com/troubleshoot/memory-did-not-persist.md)
- [Hermes Agent ignoring your project instructions](https://hermeswatcher.com/troubleshoot/project-instructions-not-loaded.md)

## Related tools

- [Carry project knowledge into the next session](https://hermeswatcher.com/workflows/project-knowledge.md)
- [Persistent memory: retain compact working knowledge](https://hermeswatcher.com/tools/memory.md)
- [Context files: give a project durable instructions](https://hermeswatcher.com/tools/context-files.md)
- [Models and providers: configure the actual inference route](https://hermeswatcher.com/tools/models.md)

## Sources

- [CLI Interface (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/cli)
- [Configuration (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)
- [Sessions (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/sessions)
- [Persistent Memory (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/features/memory)
- [FAQ and Troubleshooting (official docs)](https://hermes-agent.nousresearch.com/docs/reference/faq)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
