Skip to content

v1.1.1 — fix 'memory server invisible after restart' bug

Choose a tag to compare

@cashcon57 cashcon57 released this 12 Apr 01:30

Bug fix release. No runtime code changes — only the install wizard.

What this fixes

The #1 real-world install failure after v1.1.0: setup wizard runs successfully, user restarts Claude Code, and `/mcp` doesn't show the memory server. The wizard looked successful but the server was silently disabled.

Root cause

Claude Code stores per-project MCP trust state in `~/.claude.json` (the user-level config file) as two arrays under each project path: `enabledMcpjsonServers` and `disabledMcpjsonServers`. The v1.1.0 wizard wrote `.mcp.json` with the new server entry but didn't update the trust state. When the new session started, it found an unapproved MCP server in `.mcp.json` and moved it to `disabledMcpjsonServers` instead of loading it. The `/mcp` output wouldn't show the server, and diagnosing this required knowing about a file most users don't even know exists.

Fix

New step 14b — pre-approve MCP servers in `~/.claude.json` before the restart. The wizard now:

  • Reads `~/.claude.json`
  • Locates the project entry
  • Removes each new server name from `disabledMcpjsonServers`
  • Adds each new server name to `enabledMcpjsonServers`
  • Creates the project entry fresh if missing

Runs per-project for scoping B/C/D/F. Pre-approves both `recall-team` AND `recall-personal` for option F. Skips entirely for scoping E (user-global doesn't need per-project trust).

Phase 7a restart instructions rewritten to cover the shell-environment gotchas: quit with `/quit` (not Ctrl+C), source `.env` in the exact shell you'll launch claude from, don't open a new terminal tab, verify env vars are set with `echo` before launching.

New Phase 7a step 17c diagnostic flow — if the server still isn't visible after the restart, walks the user through the five real failure causes in order:

  1. Trust state in `~/.claude.json` didn't stick
  2. Env var not set in the launch shell
  3. `.mcp.json` missing, malformed, or in wrong directory
  4. Missing `"type": "http"` field
  5. Worker actually down or URL wrong

Each cause has an explicit diagnostic command and fix path.

Upgrading from v1.1.0

If your v1.1.0 install is working (memory server visible in `/mcp`, retrieves work), you don't need to do anything. v1.1.1 only changes the install wizard, not the deployed worker code. Your existing install is fine.

If you hit the 'invisible after restart' bug, the fastest fix is to re-run the install one-liner pinned to v1.1.1 (the wizard is idempotent and will pick up your existing deployment). Alternatively, manually edit `~/.claude.json` and add your server name(s) to `projects..enabledMcpjsonServers`, then restart claude.

Install

```text
Fetch https://raw.githubusercontent.com/cashcon57/recall/v1.1.1/SETUP_PROMPTS.md using Bash (curl -fsSL) so you get the raw markdown, not a summary. Verify it contains a section titled "Prompt 0 — First-time setup". Execute that section verbatim, step by step, adapted and optimized for my current project. Do not summarize. Do not skip. If the fetch fails or the section is missing, stop and tell me.
```

Or clone and run `./setup.sh`.

See CHANGELOG.md for the full entry.