Releases: thedotmack/claude-mem
v13.2.0
What's new
wowerpoint skill — kawaii NotebookLM slide-deck generator
Turn one source document into a kawaii NotebookLM slide-deck PDF. Wraps the notebooklm CLI with the kawaii-prompt + --format detailed defaults and a spawn-subagent pattern so generation (~10 min) never blocks the main conversation.
- Single-source-per-deck is enforced by the workflow shape: confirm or write the source doc before adding it to NotebookLM. Don't paper over a weak source by stacking more sources — write a comprehensive doc first.
- Slide-deck only. Videos and podcasts from the same engine are noticeably worse and out of scope; the skill refers users to the
notebooklmCLI directly for those formats. - Default prompt template:
Use kawaii characters to tell the story of <subject>. Keep it warm and clear.Pass any user-supplied prompt through verbatim. - Setup requires
notebooklm-py(viauv tool install --with playwright),playwright install chromium, andjq. - Spawn-and-end-turn pattern: the subagent's completion notification fires when the PDF is on disk; the main conversation never blocks on the ~10 min render.
See PR #2430 for the full design notes and review history.
Skills inventory
This release brings the plugin to 12 skills: babysit, do, how-it-works, knowledge-agent, learn-codebase, make-plan, mem-search, pathfinder, smart-explore, timeline-report, version-bump, wowerpoint.
v13.1.0
Server-beta event pipeline (phases 4–13)
This release lands the full server-beta track developed on server-beta-phase-4-event-pipeline — a self-contained Postgres + BullMQ event-to-observation pipeline with API-key auth, team/project scope, audit log, three AI providers (Anthropic, OpenAI, Google), a dedicated MCP server, legacy compat adapters for existing worker clients, a Docker/Compose stack, and a generation-job retry/cancel surface.
Highlights
- Event pipeline:
agent_event→observation_generation_jobs(outbox) → BullMQ worker →observationrow. Idempotent enqueue, request-id propagation end-to-end, structured audit log. - API surface:
POST /v1/events,POST /v1/sessions/start,POST /v1/sessions/:id/end, generation-job list/retry/cancel, MCP routes, scoped reads. - Legacy compat:
/api/sessions/observationsand/api/sessions/summarizeshims map legacy worker payloads into the new event/job model without touching worker code. Both shims now wrap session lookup in their try/catch so Postgres failures return structured JSON, andresolveServerSessionsurvives TOCTOU races via 23505 catch-and-refetch. - POST /v1/sessions/start also catches 23505 on concurrent start with the same
externalSessionIdand refetches the winning row instead of returning 500. - Generation providers: Anthropic, OpenAI, and Google with per-team-project scope enforcement and error classification.
- Docker / Compose stack and
bin/server-beta-clifor local operator workflows.
Bug fixes
resolveServerSessionPostgres errors no longer escapeasyncHandler.catch(next)and return HTML 500s to legacy clients.POST /v1/sessions/startno longer returns 500 to the loser of a concurrent same-externalSessionIdrace.
Full PR thread: #2383.
v13.0.1
Bug fixes
MCP server
- #2371 — drop
${_R%/}parameter-expansion trim in.mcp.jsonthat tripped Claude Code's MCP validator
Environment isolation
- #2357 — block
ANTHROPIC_BASE_URLleak; use a three-branch OAuth-skip predicate - Add
CLAUDE_MEM_ENV_FILElazy 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:
onclosehandler now performs background tree-kill on unexpected subprocess exit
Chroma
- #2313 — enforce a single
chroma-mcpsubprocess per worker (singleton viadisposeCurrentSubprocess()on every code path; tree-kill of orphans on dispose) - Pin
onnxruntime>=1.20andprotobuf<7to fixINVALID_PROTOBUFon macOS arm64
Build
- Polyfill
import.meta.urltopathToFileURL(__filename)in the CJS worker bundle so ESM-style code resolves correctly (CodeRabbit-driven follow-up)
Tests / review
tests/env-isolation.test.tsno 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: #2394
v13.0.0 — Server Beta + Apache 2.0
Highlights
This is the claude-mem 13 major release, landing the Server Beta runtime and the project's relicense.
Server Beta runtime (opt-in)
- Independent server-beta service with its own lifecycle (
claude-mem server start/status/stop) - Postgres-backed observation storage
- BullMQ + Redis observation queue engine (gated behind
CLAUDE_MEM_QUEUE_ENGINE=bullmq, fail-fast) - New
/v1REST API surface (events, sessions, memories, search, context, audit, jobs) - API-key auth + Better-Auth proxy
- Outbox pattern for transactional event-to-job pipelines
- Generation-job primitives (
ServerJobQueue,ActiveServerBetaQueueManager, deterministic colon-free SHA-256 job IDs) - Docker Compose + E2E harness for the new stack
Licensing
- Repository relicensed from AGPL-3.0 to Apache-2.0
NOTICEfile addeddocs/license.mdanddocs/ip-boundary.mdclarify the OSS / commercial boundaryragtime/subproject also relicensed to Apache-2.0
Installer
- Server Beta is exposed as an installer option (default off — open-source core is unaffected)
Migration notes
- Existing users on the worker-era plugin keep working — no breaking changes for the default install
- Server Beta is opt-in. Worker continues to run on its existing port and SQLite store.
- See
docs/migration-worker-to-server.mdfor forward-looking migration guidance
Compatibility
- Node ≥ 20, Bun ≥ 1.0
- Server Beta requires Postgres + Redis (only when enabled)
Full diff: v12.7.5...v13.0.0
v12.7.5
Patch release for npx installs that hit an existing Codex marketplace registration.
Fixes:
- If Codex already has claude-mem-local registered from a different source, the installer now removes that stale registration and re-adds the local npx marketplace instead of failing.
- Keeps Codex plugin_hooks enablement and legacy AGENTS cleanup after the marketplace registration succeeds.
- Updates the release workflow instructions to use npm run build-and-sync instead of plain npm run build so the local marketplace and worker are synced during releases.
Validation:
- npm run build-and-sync
- bun test tests/install-non-tty.test.ts tests/infrastructure/plugin-distribution.test.ts tests/servers/mcp-tool-schemas.test.ts tests/setup-runtime.test.ts tests/hook-command.test.ts
- Docker smoke with codex-cli 0.128.0 reproducing the remote-to-local marketplace source conflict and verifying install completion.
- npx --yes claude-mem@12.7.5 --version
v12.7.4
Patch release for the Codex mem-search marketplace fix.
Highlights:
- Restores Codex access to the claude-mem MCP/search plugin by pointing the Codex marketplace at the bundled plugin root.
- Adds resilient MCP launcher fallbacks for local installs, Codex plugin cache installs, Claude plugin cache installs, and remote marketplace clones.
- Registers Codex plugin marketplaces during install, enables plugin_hooks, and cleans up legacy AGENTS-based Codex context injection.
- Includes the Codex session-start hook migration and Codex version-mismatch investigation plan.
Validation:
- npm run build
- bun test tests/install-non-tty.test.ts tests/infrastructure/plugin-distribution.test.ts tests/servers/mcp-tool-schemas.test.ts tests/setup-runtime.test.ts tests/hook-command.test.ts
- Docker smoke with codex-cli 0.128.0 for local install, remote marketplace add/upgrade, and MCP initialize.
v12.7.3
Patch release for the reliability fixes merged in PR #2344.
- Stops context-overflow and quota hard-stop failures from restarting observer generators and burning subscription quota.
- Makes Stop hook transcript lookup failures non-blocking, so missing worktree transcript paths do not re-wake Claude Code in a loop.
- Hardens MCP/plugin startup path resolution when host plugin-root environment variables are absent.
- Accepts legacy install markers while keeping new marker writes on the JSON format.
- Fixes export-memories to honor isolated data dirs, validate worker ports, and send the worker route's canonical session-id field.
- Makes pending_messages repair safer and removes stale worker_pid assumptions from the current queue/schema path.
- Adds a focused PR babysit status helper for low-noise review/check monitoring.
v12.7.2
v12.7.2
Fixed
- Disable Claude Code built-in auto-memory during claude-code installs by setting
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1in Claude settings. - Make JSON config writes crash-safe, durable, symlink-safe, and safe for dangling symlink destinations.
- Add regression coverage for atomic JSON writes through symlinked and dangling-symlink settings paths.
v12.7.1
Added
- Package the new
babysitskill for monitoring PR checks, review comments, and unresolved review threads until a PR is merge-ready.
Verification
npm run buildnpm publishcompleted forclaude-mem@12.7.1
v12.7.0
Added
- Add native Codex hooks integration through the Codex plugin marketplace.
- Add Codex hook payload normalization, file-context extraction, and Stop hook observation support.
- Add Codex installer support for
npx claude-mem@latest installwith Codex CLI version guidance.
Fixed
- Avoid slow observation flow retries by replacing the worker-side initialization wait with hook-side readiness polling.
- Keep Codex file-context extraction from consuming boolean flags like
cat -n. - Include
bun-runner.jsin hook distribution verification.