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