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.
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
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
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.