Skip to content

Troubleshooting

The default port is 3544. If another process uses it, the server logs Port 3544 busy, trying random port... and listens on a random free port. Read the startup banner for the real address:

Memory Diagnoser running at http://localhost:<port>

To use a fixed port, start with --port <n> or set the PORT environment variable. See CLI and configuration.

403 Forbidden when you use another host name

Section titled “403 Forbidden when you use another host name”

The server answers only requests addressed to localhost. This blocks DNS rebinding. A request with a different Host header gets 403 Forbidden - unrecognized Host header.

To reach the app from another machine, restart with the command the 403 page suggests:

Terminal window
npx claude-code-memory-explorer --host 0.0.0.0 --allowed-hosts=<your-hostname>

The app has no authentication. Do this only on a network you trust.

“No memory sources found”, or the wrong project shows

Section titled ““No memory sources found”, or the wrong project shows”

The app scans the project it has open. The project name in the top bar tells you which one that is. To change it, click the project name or press Shift+P, then pick a recent project or select + Add path… and type the full directory path.

“directory not found” when you add a path

Section titled ““directory not found” when you add a path”

The server checks that the directory exists before it switches. Check the spelling and type the full absolute path.

The app looks for auto memory in <config dir>/projects/<encoded project path>/memory, then tries the main worktree and a name match. For the full lookup, see Auto memory.

Check these:

  • The app uses the same config dir as Claude Code. See Config dir.
  • If you set autoMemoryDirectory, you set it in the user settings.json. The app does not read it from project settings.
  • Claude Code has written memory for this project at least once.

A Windows 8.3 short path such as C:\Users\JOHNDO~1\... encodes to a different folder name than the long path that Claude Code uses. The exact match then fails. Open the project with its long path, for example C:\Users\johndoe\....

Nested CLAUDE.md, skills or on-demand files are not in the footprint

Section titled “Nested CLAUDE.md, skills or on-demand files are not in the footprint”

This is by design. The footprint counts only what Claude Code can load into each session without a read on purpose. The tree still lists the other files. For the full rule, see Footprint.

A rule is conditional when its frontmatter has a paths value: one glob or a non-empty list. Without paths, or with an empty list, Claude Code loads it in every session, and the app marks it as always loaded. Add paths globs to scope it:

---
paths:
- "src/**/*.ts"
---

The app caches each scan for 30 seconds. Press r or click Refresh to scan again. Switching the project also clears the cache.

The app starts the command in the EDITOR environment variable. If EDITOR is not set, it uses code. Set EDITOR before you start the server, for example EDITOR="code -w" or EDITOR=cursor. If the command is not on PATH, the app shows Editor not found on PATH.

“claude not found” when you run Analyze

Section titled ““claude not found” when you run Analyze”

Analyze runs the Claude Code CLI (claude -p) on your machine. Install Claude Code, log in, and make sure claude is on the PATH of the shell that starts the server. Then restart the server.

The server does not stop a run. After 30 minutes, a run that has not finished shows as stalled, for example after a server restart during the run. If the run finishes later, its result shows. Start a new run from New analysis… to replace it.

The error shows above the previous review, with a Retry button. Retry runs a new analysis of the auto memory files only. To repeat a run with other files, click New analysis…, pick the files, and click Run analysis. A run that returns no structured output counts as failed, so an empty result does not mean the files are clean. See Analyze memory with Claude.