Skip to content

Memory and Sessions

Hermes memory and sessions make work more continuous, but they are not a fact database and not a replacement for project docs. The key question is where a piece of information belongs: this session, long-term preference, project rule, or reviewable file.

Information typeBetter home
Current task context, attempts, failures, and intermediate resultsSession.
Stable personal preferences, output habits, common environment detailsMemory.
Project rules, folder conventions, safety boundariesAGENTS.md, .hermes.md, or project docs.
Requirements, API contracts, release notes, review evidenceVersioned files, issues, commits, or logs.

Putting everything into memory may feel clever at first. Later it becomes hard to explain why Hermes keeps behaving a certain way.

Session state helps Hermes resume: which files were read, what was attempted, and where the task stands. It is good for short and medium-term continuity.

Important conclusions should not live only in the session. The reason for a code change, the source map for a doc page, and the result of a release check should land somewhere visible. That way another person, model, or session can continue.

Memory is useful for cross-session preferences such as:

  • The user prefers Chinese discussion or English output.
  • Tests should not be run unless explicitly requested.
  • Common long-term tool or folder habits.
  • Personal work preferences that should not be re-explained every time.

It is a poor place for:

  • A temporary task plan.
  • Unreviewed factual claims.
  • Version details that may expire.
  • Secrets, tokens, internal accounts, or sensitive data.

When Hermes repeatedly does something you did not ask for, find the source:

SymptomLikely source
Appears only in one conversationSession state.
Appears in every new conversationMemory or global context.
Appears only in one projectProject context file.
Appears only after a skill is usedSkill content.

Do not write “do not do that again” into every prompt. Fix or remove the source.

The more long-term memory you keep, the more cleanup matters:

  • If it belongs in project files, do not put it in memory.
  • If it affects safety or public output, do not put it in memory.
  • If it can expire, include a source and date, or keep it out.
  • Team rules belong in versioned files, not personal memory.

Memory should reduce repeated explanation. It should not replace engineering records.