v13.0.1

thedotmack/claude-memv13.0.1May 10, 2026by thedotmack

AI Summary

Bug fix release addressing MCP server parameter expansion issues, environment isolation improvements, worker lifecycle hardening, and Chroma subprocess management with dependency pinning.

Key Highlights

  • Fixed MCP server parameter-expansion issue (#2371) that tripped Claude Code's MCP validator
  • Blocked ANTHROPIC_BASE_URL leak with three-branch OAuth-skip predicate
  • Added CLAUDE_MEM_ENV_FILE lazy resolver for test/multi-profile users
  • Classified Claude SDK HTTP 400 as unrecoverable to stop retrying doomed requests
  • Enforced single chroma-mcp subprocess per worker with singleton pattern (#2313)

New Features

  • MCP server parameter-expansion fix
  • Environment isolation with OAuth-skip predicate
  • CLAUDE_MEM_ENV_FILE lazy resolver
  • Worker lifecycle hardening for HTTP 400 errors
  • Chroma subprocess singleton enforcement
  • Polyfill for import.meta.url in CJS worker bundle

Full Release Notes

## Bug fixes

### MCP server
- **#2371** — drop `${_R%/}` parameter-expansion trim in `.mcp.json` that tripped Claude Code's MCP validator

### Environment isolation
- **#2357** — block `ANTHROPIC_BASE_URL` leak; use a three-branch OAuth-skip predicate
- Add `CLAUDE_MEM_ENV_FILE` lazy resolver so tests (and multi-profile users) can redirect the env-file path without module-load-order constraints

### Worker lifecycle
- Classify Claude SDK HTTP 400 as **unrecoverable** so the worker stops retrying a doomed request
- Stop hook crash hardened: `onclose` handler now performs background tree-kill on unexpected subprocess exit

### Chroma
- **#2313** — enforce a single `chroma-mcp` subprocess per worker (singleton via `disposeCurrentSubprocess()` on every code path; tree-kill of orphans on dispose)
- Pin `onnxruntime>=1.20` and `protobuf<7` to fix `INVALID_PROTOBUF` on macOS arm64

### Build
- Polyfill `import.meta.url` to `pathToFileURL(__filename)` in the CJS worker bundle so ESM-style code resolves correctly (CodeRabbit-driven follow-up)

### Tests / review
- `tests/env-isolation.test.ts` no longer mutates the real `~/.claude-mem/.env`; OAuth spy wrapped in try/finally to avoid leaks across runs
- 3 new chroma-mcp regression tests for #2313 (singleton enforcement)

### Misc
- Daily dependency bump per CLAUDE.md maintenance policy

Full diff: https://github.com/thedotmack/claude-mem/pull/2394