P2 Built-in Memory Never Persists with Ollama — Agent Claims Success, Silently Writes Nothing (#56461)

Executive Summary

With Ollama + qwen3.5:9b, the built-in memory system appears functional (/tools lists the memory tool, hermes memory status shows "Built-in: always active") but never actually persists data. The agent claims "I've saved that" but immediately forgets — and ~/.hermes/memories/ contains zero files. The failure is completely silent — no error, no warning, just no persistence. This is the 4th distinct memory/persistence bug we've tracked.

Diagnostic Snapshot: Everything Looks Right — Nothing Works

CheckResultWhat It Means
/tools memory tool listed as available Tool registration succeeded — the memory tool is visible to the agent
hermes memory status Built-in: always active, Provider: (none) Memory subsystem reports itself as operational
/memory memory.write_approval = off, "No pending memory writes" Write approval is disabled — writes should proceed without confirmation
find ~/.hermes -name "USER.md" no results No user memory file was ever created
~/.hermes/memories/ directory exists but empty The memories directory was created but nothing was written to it
Direct Ollama tool-calling test model correctly returns tool_calls Ollama's tool-calling API works — the problem is downstream

The gap: Ollama supports OpenAI-compatible tool calling (verified via direct API test). The memory tool is enabled and listed. The agent says it saved. Nothing is written. The failure is completely silent — no error, no warning, just no persistence.

Three Possible Failure Modes

#HypothesisLikelihoodEvidence
1 Memory tool is not being invoked despite being listed HIGH Agent says "I've saved that" — but did it actually call the tool or just claim it did? The tool is listed but may not be routed correctly for Ollama provider.
2 Memory tool is invoked but fails silently HIGH Tool executes, returns success status code, but the write path is broken. No error propagation from the memory subsystem to the agent.
3 Memory tool reports success without writing data MEDIUM The tool's return value doesn't reflect actual write success. The agent sees "OK" and reports success to the user — but the disk was never touched.

Impact Assessment

DimensionSeverityDetail
Core FunctionalityCRITICALPersistent memory across sessions is core agent functionality. Users who rely on Hermes remembering preferences, context, or facts across conversations get zero persistence.
Silent FailureCRITICALNo error, no warning, no indication anything is wrong. The agent claims success. The user trusts it. The data is gone. Silent failures are the most dangerous class of bug — they erode trust retroactively when discovered.
Provider ScopeHIGHOllama is one of the most popular local LLM providers. The memory system is provider-agnostic — if it fails with Ollama, it may fail with other local providers (LMStudio, llama.cpp, LocalAI).
Fix ComplexityHIGHThree possible failure points (invocation, execution, reporting) require systematic investigation of the full memory pipeline from tool call to disk write.

Memory/Persistence Bug History (4 Distinct Issues)

IssueSeverityDescription
#9099P2Third-party memory provider discovery mismatch
#50875P2Curator autonomous deletion of user skills
#55626P2mnemosyne_recall returns [Result unavailable]
#56461P2Built-in memory silently fails with Ollama — claims success, writes nothing

⚠️ Pattern: Four distinct memory/persistence failures spanning provider discovery, autonomous behavior, recall, and now silent write failure with the most popular local provider. The memory subsystem has failures at every layer: discovery → write → recall → provider compatibility. Users cannot trust that "I've saved that" means anything was actually saved.

Source Evidence

📋 https://hermes-agent.reviews/hermes-ollama-memory-silent-failure-56461.html
Tracked by hermes-agent.reviews — July 1, 2026