Set Up Hermes Persistent Memory in 5 Minutes
Configure persistent memory so Hermes remembers your context, preferences, and history across sessions.
Hermes has a three-layer memory system — short-term context, long-term facts, and episodic memory of past tasks. Setting it up properly means your agent gets smarter the longer you use it, never asking for the same information twice.
Managed cloud · API costs included · Skill library · Cancel anytime
Before you start:
- ☑Hermes Agent installed
- ☑Basic familiarity with YAML config files
- ☑Optional: PostgreSQL for multi-agent or production setups (SQLite is the default and sufficient for personal use)
Steps
- 1
Enable memory in config
Set memory: enabled: true in config.yaml
- 2
Configure storage backend
Choose SQLite (default) for single-user or PostgreSQL for production multi-agent setups
- 3
Add initial context
Create a MEMORY.md file with background info about you, your projects, and preferences
- 4
Configure memory layers
Set up daily notes, knowledge graph entities, and tacit knowledge layers
- 5
Restart Hermes
hermes restart — memory persists automatically from this point
- 6
Verify the profile and session boundary
Memory is profile-scoped. Before assuming memory failed, confirm the active Hermes profile, memory backend, and session source are the ones you expect.
Pro Tips
- 💡Create a MEMORY.md file at ~/.hermes/MEMORY.md with your name, timezone, key projects, and preferences — Hermes reads this on every session start
- 💡Use the three-layer approach: MEMORY.md for patterns, daily notes for events, and entity folders for people and projects
- 💡Run 'hermes memory search "test"' after setup to verify the ChromaDB vector store is working correctly
- 💡Do not store temporary task progress in durable memory. Save stable preferences and reusable environment facts; use session search for past task progress.
- 💡Use a scoped Obsidian folder as a human review queue for candidate memories before saving durable facts into Hermes memory.
Troubleshooting
❌ Hermes forgets things between sessions
✅ Verify 'memory: enabled: true' is set in config.yaml and that the dataDir path is writable. Run 'hermes status' to confirm memory is active.
❌ Memory search returns no results
✅ The ChromaDB index may need to be rebuilt. Run 'hermes memory reindex' to rebuild the vector store from your existing memory files.
❌ MEMORY.md changes not reflected in responses
✅ Hermes loads MEMORY.md on session start, not mid-session. Start a new chat session after editing MEMORY.md.
FAQ
Why does Hermes Agent not remember something I told it?
Check whether memory is enabled, whether the fact is durable enough to be saved, whether you are in the same profile, and whether the current session is too long and needs /compress. Also inspect provider or auxiliary-model failures, because memory and context maintenance can fail even when normal chat still works.