Hermes Agent just changed memory, but the current conversation still follows old habits. Usually, it's not that memory writing failed, but that the context has already been loaded in this session. Long-term memory is more like the background injected at the start of a session; new content often only takes effect reliably after a new session or reloading.
First, confirm which type of memory you are editing
Personal preferences, project habits, and long-term background can be used for memory; Temporary task objectives, which file to change this time, and recent errors should all be written directly in the current conversation. Putting temporary information into memory can actually pollute subsequent tasks.
If you are modifying a USER.md, MEMORY.md, or external memory provider, first confirm that the file or provider has been saved, then open a new session to test it. Don't keep asking "Why haven't you remembered yet" in the same round; it might just mean the current context hasn't updated yet.
How to tell if it really works
In the new session, ask a small question directly related to preferences, such as default test commands, commonly used package managers, and project naming rules. It can answer according to new rules, indicating that memory has entered context; If you still follow the old rules, then continue to check the configuration directory, profile, and external provider namespace.
More memories aren't always better. Expired paths, old key names, and abandoned deployment processes should be promptly deleted. Clean memory makes Hermes more stable, while mixed memory allows it to carry old experience into new tasks.
If you switch between multiple profiles or multiple HERMES_HOME, make sure you are changing the memory directory currently used by the instance. Many "memory not working" actually mean changing the A profile but continuing to test in the B profile.