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
| Check | Result | What 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
| # | Hypothesis | Likelihood | Evidence |
|---|---|---|---|
| 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
| Dimension | Severity | Detail |
|---|---|---|
| Core Functionality | CRITICAL | Persistent memory across sessions is core agent functionality. Users who rely on Hermes remembering preferences, context, or facts across conversations get zero persistence. |
| Silent Failure | CRITICAL | No 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 Scope | HIGH | Ollama 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 Complexity | HIGH | Three 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)
| Issue | Severity | Description |
|---|---|---|
| #9099 | P2 | Third-party memory provider discovery mismatch |
| #50875 | P2 | Curator autonomous deletion of user skills |
| #55626 | P2 | mnemosyne_recall returns [Result unavailable] |
| #56461 | P2 | Built-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
- GitHub Issue: #56461 — Built-in Memory Never Persists with Ollama
- Opened: July 1, 2026
- Reporter: @saravanesh26
- Labels: P2, bug, comp/agent, needs-repro, provider/ollama, tool/memory, type/bug
- Hermes: v0.17.0 | OS: Linux (Pop!_OS) | Python: 3.11.15
- Debug report: paste.rs/Rmbpi
- All three logs provided
- Reporter willing to submit PR: Yes
📋 https://hermes-agent.reviews/hermes-ollama-memory-silent-failure-56461.html
Tracked by hermes-agent.reviews — July 1, 2026