# Reported issues for hmem — Humanlike Memory for AI Agents

Pod holds 14 of 14 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [hmem — Humanlike Memory for AI Agents](/mcp/hmem-humanlike-memory-for-ai-agents).

## Most discussed

### Advisory badge for hmem-mcp?

Saw the publish rename to hmem-mcp (npm name-similarity). There's a directory card at https://mcpindex.ai/server/io-github-bumblebiber-hmem-mcp

Paste-ready README badge (advisory screen — not a safety cert):

[![mcpindex](https://mcpindex.ai/api/v1/badge/io-github-bumblebiber-hmem-mcp)](https://mcpindex.ai/server/io-github-bumblebiber-hmem-mcp)

Reply if the title/blurb should match the Claude Code memory framing more closely.

Thank you,
GB
https://mcpindex.ai

[Read the thread](https://github.com/Bumblebiber/hmem/issues/35) · 2026-07-12 · closed · external user · 3 comments

### Windows compatibility: OpenCode plugin broken on Windows (4 bugs)

## Environment

- OS: Windows 11
- hmem-mcp version: 6.3.2
- OpenCode with bundled plugin (`~/.config/opencode/plugins/hmem.js`)
- Node.js resolves `hmem` as `hmem.ps1` (npm global install)

## Summary

The OpenCode plugin introduced in v6.3.2 does not work on Windows due to four separate issues. Individually none is fatal on other platforms, but together they cause silent failure — no exchanges are logged, no diagnostics are written, and no errors surface to the user. The fixes are what I did t

[Read the thread](https://github.com/Bumblebiber/hmem/issues/25) · 2026-04-14 · closed · external user · 1 comment

### write_memory: MCP should coerce stringified arrays for tags/links instead of rejecting

## Problem

When an AI agent calls `write_memory` with `tags` or `links` as a JSON-serialized string instead of a native array, the MCP server returns an opaque validation error:

\`\`\`
MCP error -32602: Input validation error: Invalid arguments for tool write_memory: [
  {
    "expected": "array",
    "code": "invalid_type",
    "path": ["links"],
    "message": "Invalid input: expected array, received string"
  },
  ...
]
\`\`\`

### Example of the bad call

\`\`\`
write_memory(
  prefix: "E"

[Read the thread](https://github.com/Bumblebiber/hmem/issues/14) · 2026-04-02 · closed · external user · 1 comment

### audit_state.json tracks agent without .hmem file → read_agent_memory fails silently

## Bug Description

`get_audit_queue()` returns agent `"default"` as modified, but `read_agent_memory("default")` responds with:

> No .hmem found for agent "default" (expected: /mnt/user/appdata/claude-code/hmem/Agents/default/default.hmem)

## Steps to Reproduce

1. Run `get_audit_queue()` → agent `"default"` appears in queue with a modification timestamp
2. Run `read_agent_memory("default")` → returns "No .hmem found"

## Expected Behavior

`audit_state.json` should only track agents that hav

[Read the thread](https://github.com/Bumblebiber/hmem/issues/11) · 2026-03-30 · closed · external user · 1 comment

### hmem checkpoint hook missing from auto-install (checkpointMode: "auto" has no effect)

When `checkpointMode` is set to `"auto"` in `hmem.config.json`, the checkpoint
Haiku subagent never runs.

**Root cause:** `hmem-startup.sh` skips the checkpoint reminder in auto mode with
this comment:
> "Remind mode only — auto mode is handled by Stop hook (hmem log-exchange + hmem checkpoint)"

But `hmem init` only installs two Stop hooks:
- `hmem-log-exchange.sh`
- `hmem-title-o-entries.sh`

The third Stop hook calling `hmem checkpoint` is never added to `settings.json`.

**Expected behavior

[Read the thread](https://github.com/Bumblebiber/hmem/issues/10) · 2026-03-30 · closed · external user · 1 comment

### /hmem-update: Smoke test should run after restart, not before

## Problem

The `/hmem-update` skill runs the smoke test **before** telling the user to restart Claude Code. This means the smoke test communicates with the **old** MCP server version (still loaded in memory), not the newly installed one — making the test meaningless for verifying the update.

## Suggested fix

Restructure the update flow:

1. Install update (`npm install -g hmem-mcp`)
2. Sync skills (`hmem update-skills`)
3. **Prompt user to restart** (`/restart` or reopen Claude Code)
4. Wait 

[Read the thread](https://github.com/Bumblebiber/hmem/issues/8) · 2026-03-29 · closed · external user · 1 comment

### hmem init: add --hooks flag for non-interactive hook installation

## Problem

`hmem init --global` fails in non-TTY environments (e.g. when called from Claude Code's Bash tool) with a readline error when it reaches the hook installation prompt:

```
TypeError: Cannot read properties of undefined (reading 'question')
    at cli-init.js:171:12
```

This means hook installation currently requires either:
1. An interactive terminal session, or
2. A fragile workaround (reading hook script sources from the npm package dist files and writing them manually)

## Propos

[Read the thread](https://github.com/Bumblebiber/hmem/issues/7) · 2026-03-29 · closed · external user · 1 comment

### update_memory: boolean parameters (irrelevant, favorite, etc.) fail with 'expected boolean, received string' in v5.1.6

## Problem

Since v5.1.6, calling `update_memory` with boolean parameters fails with a zod validation error:

```
MCP error -32602: Input validation error: Invalid arguments for tool update_memory: [
  {
    "expected": "boolean",
    "code": "invalid_type",
    "path": ["irrelevant"],
    "message": "Invalid input: expected boolean, received string"
  }
]
```

## Steps to reproduce

```
update_memory(id="T0001", content="test", irrelevant=true)
```

**Result:** Validation error — "expected bool

[Read the thread](https://github.com/Bumblebiber/hmem/issues/5) · 2026-03-29 · closed · external user · 2 comments

## Most recent

### /o9k-curate skill references wrong MCP server name; setup doesn't register curate server

## Summary

The `/o9k-curate` skill instructs users to enable an MCP server named `o9k-curate`, but the installed binary is `hmem-curate` (per `package.json#bin`) and the default `hmem` setup never registers it as an MCP server. This leads to a dead-end: the user opens `/mcp`, finds no `o9k-curate` entry, and has no documented path to fix it.

Found on `its-over-9k@1.3.4`, macOS 15.5, Claude Code.

## Repro

1. `npm i -g its-over-9k` (fresh install) → registers only the `o9k` MCP server in `~/.c

[Read the thread](https://github.com/Bumblebiber/hmem/issues/29) · 2026-05-20 · closed · external user · 1 comment

### Windows: `hmem init` writes spurious leading `\\` in `mcp-server.js` path in `opencode.json`

## Environment

- OS: Windows 11
- hmem-mcp: pre-v6.3.2 (present before recent plugin changes)
- OpenCode global config: `~/.config/opencode/opencode.json`

## Description

After running `hmem init` on Windows, the MCP server entry written to `opencode.json` contains a malformed path for `mcp-server.js`:

```json
"command": [
  "C:\\Program Files\\nodejs\\node.exe",
  "\\C:\\Users\\myoun\\AppData\\Roaming\\npm\\node_modules\\hmem-mcp\\dist\\mcp-server.js"
]
```

Note the spurious `\\` prefix bef

[Read the thread](https://github.com/Bumblebiber/hmem/issues/26) · 2026-04-14 · closed · external user · 1 comment

### Multi-shell: log-exchange and statusline not session-aware — wrong project in both

## Problem

When working on two different projects in two Claude Code shells simultaneously, both `statusline` and `log-exchange` resolve the active project via a global DB query:

```sql
SELECT id, title FROM memories WHERE prefix='P' AND obsolete!=1 ORDER BY updated_at DESC LIMIT 1
```

This means:
- **Statusline** shows the same (globally most-recently-updated) project in both shells
- **`log-exchange`** (Stop hook) logs conversation exchanges from Shell 2 into the O-entry of Shell 1's projec

[Read the thread](https://github.com/Bumblebiber/hmem/issues/22) · 2026-04-13 · closed · external user · 1 comment

### context-inject and hook-startup don't provide a verified active project ID, causing agent to hallucinate load_project IDs

## Summary

When `context-inject` runs after `/clear`, it ends with:

> (Context re-injected after /clear. Use load_project for full briefing, read_memory(id) to drill into specific entries.)

This tells the agent to call `load_project` but does **not** specify which project ID to use. If multiple projects have \"Active\" in their title, the agent has no reliable source for a valid ID and hallucinates one (e.g. `P0043`, `P0052`) — neither of which exists in the database.

## Reproduction

1. Hav

[Read the thread](https://github.com/Bumblebiber/hmem/issues/20) · 2026-04-13 · closed · external user · 1 comment

### hmem init ignores existing 'claude mcp' config, missing HMEM_PATH causes cryptic SQLite error

## Bug Description

`hmem init` writes MCP config to `~/.claude.json`, but Claude Code CLI manages its own MCP server registry via `claude mcp add`. If the user has previously run `claude mcp add hmem ... hmem serve` (without `HMEM_PATH`), `init` writes to the wrong location and the broken `claude mcp` entry remains active.

## Root Cause (two issues)

### 1. `hmem init` doesn't detect existing `claude mcp` entries

`hmem init` writes to `~/.claude.json`, but Claude Code CLI ignores this file fo

[Read the thread](https://github.com/Bumblebiber/hmem/issues/18) · 2026-04-07 · closed · external user · 1 comment

### spawn('hmem') fails when hmem is not in system PATH (e.g. Unraid)

## Bug

In \`dist/cli-log-exchange.js\` (line 121), the auto-checkpoint feature spawns \`hmem\` by name:

    const child = spawn("hmem", ["checkpoint"], { ... });

This fails with \`Error: spawn hmem ENOENT\` on systems where \`hmem\` is installed
in a non-standard location not in the system PATH.

## Steps to reproduce

1. Install hmem-mcp globally to a custom prefix (e.g. /mnt/user/appdata/npm-global)
2. That path is NOT in the system PATH (on Unraid, /usr/local/bin is wiped on reboot)
3. Set

[Read the thread](https://github.com/Bumblebiber/hmem/issues/9) · 2026-03-29 · closed · external user · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/Bumblebiber/hmem/issues).
