thedotmack/claude-memPublic

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

AI summary: A long-term memory engine for Claude AI agents utilizing embeddings and ChromaDB.

Stars
90K
+135 today
Forks
7.8K
Watchers
281
Open issues
188
Open PRs
127
Contributors
~138
Commits
2.4K
Branches
406

JavaScriptApache-2.0Created Aug 31, 2025Last push 1d agoLatest release v13.12.4+796 stars this week+999 this month

Star history

since Sep 14, 2025
025K50K75KSep 2025Dec 2025Apr 2026Aug 2026
90K stars as of Aug 7, 2026, tracked back to Sep 14, 2025. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 3 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 7 commits2025-09-10: 6 commits2025-09-11: 1 commit2025-09-12: 0 commits2025-09-13: 1 commit2025-09-14: 4 commits2025-09-15: 0 commits2025-09-16: 1 commit2025-09-17: 2 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 1 commit2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 6 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 1 commit2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 2 commits2025-10-15: 18 commits2025-10-16: 19 commits2025-10-17: 5 commits2025-10-18: 14 commits2025-10-19: 11 commits2025-10-20: 9 commits2025-10-21: 37 commits2025-10-22: 3 commits2025-10-23: 13 commits2025-10-24: 20 commits2025-10-25: 35 commits2025-10-26: 9 commits2025-10-27: 7 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 6 commits2025-11-01: 4 commits2025-11-02: 3 commits2025-11-03: 7 commits2025-11-04: 11 commits2025-11-05: 8 commits2025-11-06: 15 commits2025-11-07: 18 commits2025-11-08: 5 commits2025-11-09: 7 commits2025-11-10: 16 commits2025-11-11: 9 commits2025-11-12: 3 commits2025-11-13: 5 commits2025-11-14: 6 commits2025-11-15: 2 commits2025-11-16: 10 commits2025-11-17: 15 commits2025-11-18: 1 commit2025-11-19: 5 commits2025-11-20: 4 commits2025-11-21: 2 commits2025-11-22: 5 commits2025-11-23: 4 commits2025-11-24: 1 commit2025-11-25: 10 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 1 commit2025-11-29: 0 commits2025-11-30: 21 commits2025-12-01: 8 commits2025-12-02: 0 commits2025-12-03: 4 commits2025-12-04: 6 commits2025-12-05: 8 commits2025-12-06: 3 commits2025-12-07: 17 commits2025-12-08: 7 commits2025-12-09: 38 commits2025-12-10: 17 commits2025-12-11: 8 commits2025-12-12: 29 commits2025-12-13: 39 commits2025-12-14: 37 commits2025-12-15: 8 commits2025-12-16: 19 commits2025-12-17: 20 commits2025-12-18: 0 commits2025-12-19: 4 commits2025-12-20: 17 commits2025-12-21: 1 commit2025-12-22: 9 commits2025-12-23: 19 commits2025-12-24: 0 commits2025-12-25: 17 commits2025-12-26: 25 commits2025-12-27: 23 commits2025-12-28: 14 commits2025-12-29: 41 commits2025-12-30: 0 commits2025-12-31: 4 commits2026-01-01: 6 commits2026-01-02: 6 commits2026-01-03: 8 commits2026-01-04: 12 commits2026-01-05: 9 commits2026-01-06: 1 commit2026-01-07: 5 commits2026-01-08: 1 commit2026-01-09: 8 commits2026-01-10: 7 commits2026-01-11: 0 commits2026-01-12: 2 commits2026-01-13: 5 commits2026-01-14: 2 commits2026-01-15: 1 commit2026-01-16: 0 commits2026-01-17: 1 commit2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 4 commits2026-01-22: 3 commits2026-01-23: 5 commits2026-01-24: 1 commit2026-01-25: 9 commits2026-01-26: 4 commits2026-01-27: 4 commits2026-01-28: 8 commits2026-01-29: 0 commits2026-01-30: 1 commit2026-01-31: 1 commit2026-02-01: 1 commit2026-02-02: 2 commits2026-02-03: 2 commits2026-02-04: 34 commits2026-02-05: 59 commits2026-02-06: 67 commits2026-02-07: 23 commits2026-02-08: 0 commits2026-02-09: 11 commits2026-02-10: 10 commits2026-02-11: 20 commits2026-02-12: 18 commits2026-02-13: 7 commits2026-02-14: 4 commits2026-02-15: 5 commits2026-02-16: 43 commits2026-02-17: 6 commits2026-02-18: 10 commits2026-02-19: 3 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 17 commits2026-02-24: 3 commits2026-02-25: 12 commits2026-02-26: 2 commits2026-02-27: 3 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 6 commits2026-03-09: 3 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 2 commits2026-03-13: 13 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 6 commits2026-03-17: 9 commits2026-03-18: 7 commits2026-03-19: 2 commits2026-03-20: 2 commits2026-03-21: 4 commits2026-03-22: 0 commits2026-03-23: 1 commit2026-03-24: 3 commits2026-03-25: 5 commits2026-03-26: 3 commits2026-03-27: 3 commits2026-03-28: 5 commits2026-03-29: 0 commits2026-03-30: 3 commits2026-03-31: 3 commits2026-04-01: 11 commits2026-04-02: 7 commits2026-04-03: 5 commits2026-04-04: 30 commits2026-04-05: 7 commits2026-04-06: 6 commits2026-04-07: 19 commits2026-04-08: 3 commits2026-04-09: 5 commits2026-04-10: 8 commits2026-04-11: 5 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 3 commits2026-04-15: 25 commits2026-04-16: 23 commits2026-04-17: 3 commits2026-04-18: 0 commits2026-04-19: 23 commits2026-04-20: 17 commits2026-04-21: 0 commits2026-04-22: 5 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 19 commits2026-04-26: 0 commits2026-04-27: 4 commits2026-04-28: 0 commits2026-04-29: 3 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 3 commits2026-05-03: 6 commits2026-05-04: 15 commits2026-05-05: 6 commits2026-05-06: 26 commits2026-05-07: 0 commits2026-05-08: 3 commits2026-05-09: 2 commits2026-05-10: 2 commits2026-05-11: 6 commits2026-05-12: 1 commit2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 1 commit2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 7 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 20 commits2026-05-29: 16 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 9 commits2026-06-06: 18 commits2026-06-07: 3 commits2026-06-08: 3 commits2026-06-09: 26 commits2026-06-10: 13 commits2026-06-11: 1 commit2026-06-12: 7 commits2026-06-13: 2 commits2026-06-14: 2 commits2026-06-15: 6 commits2026-06-16: 0 commits2026-06-17: 5 commits2026-06-18: 1 commit2026-06-19: 2 commits2026-06-20: 3 commits2026-06-21: 7 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 2 commits2026-06-25: 4 commits2026-06-26: 7 commits2026-06-27: 5 commits2026-06-28: 3 commits2026-06-29: 20 commits2026-06-30: 3 commits2026-07-01: 0 commits2026-07-02: 6 commits2026-07-03: 10 commits2026-07-04: 5 commits2026-07-05: 21 commits2026-07-06: 1 commit2026-07-07: 0 commits2026-07-08: 4 commits2026-07-09: 8 commits2026-07-10: 2 commits2026-07-11: 1 commit2026-07-12: 23 commits2026-07-13: 16 commits2026-07-14: 4 commits2026-07-15: 10 commits2026-07-16: 4 commits2026-07-17: 8 commits2026-07-18: 15 commits2026-07-19: 3 commits2026-07-20: 15 commits2026-07-21: 1 commit2026-07-22: 15 commits2026-07-23: 14 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
2,120 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    89,975 stars

  • Very active

    2,120 commits in 52 weeks

  • Community-driven

    ~138 contributors

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

  • Repeat trending

    23 trending appearances

  • Top 10% tracked

    Rank 72 of 1058

What claude-mem does

Claude-Mem provides a persistent memory architecture for AI agents built on the Claude model ecosystem. It uses vector embeddings and ChromaDB to store and retrieve contextual information across multiple conversational sessions. The system employs Retrieval-Augmented Generation (RAG) to ensure the AI can recall past interactions and user preferences accurately. It integrates seamlessly with Claude agent SDKs to enhance their reasoning capabilities over long time horizons. The project is heavily localized, offering documentation in numerous languages.

This project is for AI developers and researchers building advanced autonomous agents with Anthropic's Claude models. It requires familiarity with vector databases and RAG concepts.

  • Persistent Storage: Maintains conversational history and context beyond a single session.
  • Vector Embeddings: Utilizes advanced embedding models to semantically search past interactions.
  • ChromaDB Integration: Leverages a robust vector database for efficient data retrieval.
  • RAG Architecture: Injects relevant historical context directly into the agent's prompt.
  • Extensive Localization: Provides documentation and support across dozens of languages.

Where teams use it

Personalized Assistants

Developers build AI companions that remember user preferences and past conversations.

Long-running Projects

Agents assist with complex coding tasks over weeks by recalling architectural decisions.

Customer Support

Support bots maintain context across multiple tickets submitted by the same user.

Knowledge Management

The system acts as a personal database that the AI can query to answer specific user questions.

Getting started: bash

README

main branch

🇨🇳 中文🇹🇼 繁體中文🇯🇵 日本語🇵🇹 Português🇧🇷 Português🇰🇷 한국어🇪🇸 Español🇩🇪 Deutsch🇫🇷 Français🇮🇱 עברית🇸🇦 العربية🇷🇺 Русский🇵🇱 Polski🇨🇿 Čeština🇳🇱 Nederlands🇹🇷 Türkçe🇺🇦 Українська🇻🇳 Tiếng Việt🇵🇭 Tagalog🇮🇩 Indonesia🇹🇭 ไทย🇮🇳 हिन्दी🇧🇩 বাংলা🇵🇰 اردو🇷🇴 Română🇸🇪 Svenska🇮🇹 Italiano🇬🇷 Ελληνικά🇭🇺 Magyar🇫🇮 Suomi🇩🇰 Dansk🇳🇴 Norsk

Persistent memory compression system built for Claude Code.

License Version Node Mentioned in Awesome Claude Code

thedotmack/claude-mem | Trendshift


Claude-Mem Preview Star History Chart

Quick StartHow It WorksSearch ToolsDocumentationConfigurationTroubleshootingLicense

Claude-Mem seamlessly preserves context across sessions by automatically capturing tool usage observations, generating semantic summaries, and making them available to future sessions. This enables Claude to maintain continuity of knowledge about projects even after sessions end or reconnect.


Quick Start

Install with a single command:

npx claude-mem install

Or install for OpenCode:

npx claude-mem install --ide opencode

Or install for Antigravity CLI (setup guide):

npx claude-mem install --ide antigravity

Or install from the plugin marketplace inside Claude Code:

/plugin marketplace add thedotmack/claude-mem

/plugin install claude-mem

Restart Claude Code. Context from previous sessions will automatically appear in new sessions.

Note: Claude-Mem is also published on npm, but npm install -g claude-mem installs the SDK/library only — it does not register the plugin hooks or set up the worker service. Always install via npx claude-mem install or the /plugin commands above.

🦞 OpenClaw Gateway

Install claude-mem as a persistent memory plugin on OpenClaw gateways with a single command:

curl -fsSL https://install.cmem.ai/openclaw.sh | bash

The installer handles dependencies, plugin setup, AI provider configuration, worker startup, and optional real-time observation feeds to Telegram, Discord, Slack, and more. See the OpenClaw Integration Guide for details.

Key Features:

  • 🧠 Persistent Memory - Context survives across sessions
  • 📊 Progressive Disclosure - Layered memory retrieval with token cost visibility
  • 🔍 Skill-Based Search - Query your project history with mem-search skill
  • 🖥️ Web Viewer UI - Real-time memory stream at the worker URL printed on startup
  • 💻 Claude Desktop Skill - Search memory from Claude Desktop conversations
  • 🔒 Privacy Control - Use <private> tags to exclude sensitive content from storage
  • ⚙️ Context Configuration - Fine-grained control over what context gets injected
  • 🤖 Automatic Operation - No manual intervention required
  • 🔗 Citations - Reference past observations with IDs through the worker API or view all in the web viewer

Documentation

📚 View Full Documentation - Browse on official website

Getting Started

  • Installation Guide - Quick start & advanced installation
  • Usage Guide - How Claude-Mem works automatically
  • Search Tools - Query your project history with natural language
  • Cloud Sync - Back up your memories to cmem.ai — no daemon, the worker syncs on write

Best Practices

Architecture

Configuration & Development


How It Works

Core Components:

  1. 5 Lifecycle Hooks - SessionStart, UserPromptSubmit, PostToolUse, Stop, SessionEnd (6 hook scripts)
  2. Smart Install - Cached dependency checker (pre-hook script, not a lifecycle hook)
  3. Worker Service - Local HTTP API with web viewer UI and search endpoints, managed by Bun
  4. SQLite Database - Stores sessions, observations, summaries
  5. mem-search Skill - Natural language queries with progressive disclosure
  6. Chroma Vector Database - Hybrid semantic + keyword search for intelligent context retrieval

See Architecture Overview for details.


MCP Search Tools

Claude-Mem provides intelligent memory search through 4 MCP tools following a token-efficient 3-layer workflow pattern:

The 3-Layer Workflow:

  1. search - Get compact index with IDs (~50-100 tokens/result)
  2. timeline - Get chronological context around interesting results
  3. get_observations - Fetch full details ONLY for filtered IDs (~500-1,000 tokens/result)

How It Works:

  • Claude uses MCP tools to search your memory
  • Start with search to get an index of results
  • Use timeline to see what was happening around specific observations
  • Use get_observations to fetch full details for relevant IDs
  • ~10x token savings by filtering before fetching details

Available MCP Tools:

  1. search - Search memory index with full-text queries, filters by type/date/project
  2. timeline - Get chronological context around a specific observation or query
  3. get_observations - Fetch full observation details by IDs (always batch multiple IDs)

Example Usage:

// Step 1: Search for index
search(query="authentication bug", type="bugfix", limit=10)

// Step 2: Review index, identify relevant IDs (e.g., #123, #456)

// Step 3: Fetch full details
get_observations(ids=[123, 456])

See Search Tools Guide for detailed examples.


Release Branches

Stable releases ship from main and are published to npm. core-dev and community-edge are source-run branches for early reliability fixes and community integrations. See Release Branches for the branch flow and non-stable run instructions.


System Requirements

  • Node.js: 20.0.0 or higher
  • Claude Code: Latest version with plugin support
  • Bun: JavaScript runtime and process manager (auto-installed if missing)
  • uv: Python package manager for vector search (auto-installed if missing)
  • SQLite 3: For persistent storage (bundled)

Windows Setup Notes

If you see an error like:

npm : The term 'npm' is not recognized as the name of a cmdlet

Make sure Node.js and npm are installed and added to your PATH. Download the latest Node.js installer from https://nodejs.org and restart your terminal after installation.


Configuration

Settings are managed in ~/.claude-mem/settings.json (auto-created with defaults on first run). Configure AI model, worker port, data directory, log level, and context injection settings.

See the Configuration Guide for all available settings and examples.

Mode & Language Configuration

Claude-Mem supports multiple workflow modes and languages via the CLAUDE_MEM_MODE setting.

This option controls both:

  • The workflow behavior (e.g. code, chill, investigation)
  • The language used in generated observations

How to Configure

Edit your settings file at ~/.claude-mem/settings.json:

{
  "CLAUDE_MEM_MODE": "code--zh"
}

Modes are defined in plugin/modes/. To see all available modes locally:

ls ~/.claude/plugins/marketplaces/thedotmack/plugin/modes/

Available Modes

Mode Description
code Default English mode
code--zh Simplified Chinese mode
code--ja Japanese mode

Language-specific modes follow the pattern code--[lang] where [lang] is the ISO 639-1 language code (e.g., zh for Chinese, ja for Japanese, es for Spanish).

Note: code--zh (Simplified Chinese) is already built-in — no additional installation or plugin update is required.

After Changing Mode

Restart Claude Code to apply the new mode configuration.

Development

See the Development Guide for build instructions, testing, and contribution workflow.


Troubleshooting

If experiencing issues, describe the problem to Claude and the troubleshoot skill will automatically diagnose and provide fixes.

See the Troubleshooting Guide for common issues and solutions.


Bug Reports

Create comprehensive bug reports with the automated generator:

cd ~/.claude/plugins/marketplaces/thedotmack
npm run bug-report

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Update documentation
  5. Submit a Pull Request

Claude-Mem ships from three branches: main (stable), core-dev, and community-edge. Only main is published to npm; the others are run from source. See Release Branches for the strategy and local run instructions.

See Development Guide for contribution workflow.


License

Claude-Mem is licensed under the Apache License 2.0.

We chose Apache-2.0 because durable agentic memory should be easy to embed in developer tools, local agents, MCP servers, enterprise systems, robotics stacks, and production agent harnesses.

See the LICENSE file for full details. See docs/license.md and docs/ip-boundary.md for licensing scope and the open/commercial boundary.

Note on Ragtime: The ragtime/ directory is licensed under the Apache License 2.0. See ragtime/LICENSE for details.


Support


Built with Claude Agent SDK | Works with Claude Code | Made with TypeScript


What About CMEM?

CMEM is a token created by a 3rd party but officially embraced by the creator of Claude-Mem (Alex Newman, @thedotmack). The token acts as a community catalyst for growth and a vehicle for bringing CMEM to the developers and knowledge workers that need it most.

Official BASE CA: 0x76b1967eec0ccaeb001bbbb2b40dc4badba31ba3

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

302 total
  1. v13.12.4v13.12.4Jul 23, 2026

    Four root-cause fixes from the post-v13.12.2 issue batch. ## Fixes ### Shutdown teardown no longer skipped on a non-listening server handle (#3380) `performGracefulShutdown` treated Node's `ERR_SERVER_NOT_RUNNING` from `server.close()` as fatal in step 1, which skipped session drain, MCP close, Chroma stop, DB close, and supervisor stop — the Windows port-hold symptom. An already-closed server now counts as closed (explicit code check, everything else still rejects), and `Server.listen()` assigns the handle only once actually listening, so a failed bind can no longer leave a stale non-listening handle for shutdown to trip on. (#3387) ### Concept tags participate in context injection again (#3379) The observer prompt's own guidance format taught the model to emit `keyword: description` concept tags, which the exact-match injection SQL silently excluded — observations tagged that way never surfaced. Concepts are now truncated at the first colon at the parse boundary, the producer prompts in all four modes require bare keywords, and migration v49 backfills stored rows — requeueing corrected native rows for cloud re-push (sync_rev bump + synced_at reset, mirroring the prompt-repair

  2. v13.12.3v13.12.3Jul 23, 2026

    ## Hotfix: self-perpetuating stale-worker recycle loop (#3378) **The bug.** On a version mismatch, hooks asked the running (stale) worker to restart itself — and the dying worker spawned its successor using its *own install's* code and resolver. A ≤13.11.0 worker would respawn its own version, re-bind the worker port before the hook's correctly-resolved lazy-spawn could, and the mismatch recurred on every prompt, forever. One report measured **2,424 recycles in a single day**, with every `UserPromptSubmit` ending in a ~40s hook timeout. Because the buggy handoff ran inside the *old* install's process, fixing the new version's resolver alone could never break the loop. **The fix.** Hooks no longer delegate the recycle to the corpse. On version mismatch the hook now: 1. reads the owner-verified worker PID file, 2. `SIGKILL`s the stale worker — the only teardown guaranteed to execute zero stale-version code, 3. waits for the port to actually close, and 4. spawns the resolved installed version itself, via the existing lazy-spawn path and the single version oracle. The dying-worker successor handoff now serves only CLI-initiated `claude-mem restart`, where the running install *is* t

  3. v13.12.2 — The Merge Sweepv13.12.2Jul 23, 2026

    ## v13.12.2 — The Merge Sweep **54 community bug-fix PRs merged in one pass.** Every open PR in the repo (157 total) was evaluated against a strict rubric — now codified in [`docs/merge-rubric.md`](https://github.com/thedotmack/claude-mem/blob/main/docs/merge-rubric.md): root-cause corrections only, with no guards, circuit breakers, fallbacks, retries, fail-open modes, self-healing machinery, truncation, or bolt-on second systems. ### Windows - Zombie-held worker ports now detected correctly, ending infinite startup-failure loops (#3356) - Console-flash sweep: `windowsHide` on every remaining live spawn path — git, npm, IDE detection, Codex installer, worker wrapper, taskkill, MCP launcher (#3335, #3320, #3319, #3305, #2921) - `bun.exe` resolved to its absolute path and spawned directly, skipping `cmd.exe` (which silently drops >8191-char PATH) (#3235, #3247) - Worker ESM main detection via `pathToFileURL` (#3318); UTF-8 BOM tolerated in settings JSON read (#3307) - `Start-Process` argument quoting survives spaced profile paths (#3293); `codex.cmd` shim quoting fixed (#3220) - PowerShell call operator (`&`) added to Cursor/Windsurf hook commands (#2507) - Missing Windows credenti

  4. v13.12.1v13.12.1Jul 23, 2026

    ## Critical fix: worker restart storm Fixes an infinite worker restart loop triggered by plugin upgrades. The worker-script resolver ranked plugin cache directories by **mtime**, so when Claude Code stamped a superseded version dir with `.orphaned_at` (bumping its mtime), every restart respawned the **old** version while hooks on the new version kept demanding a restart — spawning hundreds of processes until the host machine exhausted its process table. All four resolvers (worker successor, MCP launcher, Codex Windows launcher, POSIX hook prelude) now rank cache dirs by **version** — never mtime — skip orphan-stamped dirs, and share one deterministic version oracle with the staleness detector (`checkVersionMatch`), making the restart loop structurally impossible. **Recommended upgrade for all users.** Note: the vulnerable resolver is the one running *during* an upgrade, so machines are protected from the next upgrade onward. Details: #3371

  5. v13.12.0v13.12.0Jul 22, 2026

    ## Two-Lane Cloud Sync (cmem.ai Pro) This release ships the complete two-lane sync architecture between your local claude-mem database and the cmem.ai sync hub (PR #3333): - **Per-user Durable Object sync hub** — a Cloudflare Worker (`workers/sync-hub`) serving isolated HTTP push/pull lanes per user (Phase 1) - **Client apply path + schema migration v41** — deterministic application of remote changes into the local SQLite store (Phase 2) - **Hub push/pull transport + mutation outbox** — local mutations queue durably and survive offline periods and retries (Phase 3) - **Advisory WebSocket speed layer** — near-real-time sync nudges; correctness never depends on the socket staying up (Phase 4) - **Guardrails + monitoring** — kill switch, watchdog, canary, and a full sync-matrix E2E suite (Phase 5) - **Canonical v2 projection pipeline** and SyncHub-only client cutover - Hardened verifier authentication on the sync hub **Sync is OFF by default.** `CLAUDE_MEM_CLOUD_SYNC_HUB_URL` defaults to empty — nothing leaves your machine unless you configure a hub URL (see the `cloud-sync` skill or https://docs.claude-mem.ai/cloud-sync). ### Fixes - Restored process-global `mock.module` cleanup

Code frequency

additions and deletions
+142.5K-142.5KWeek of 2025-08-31: +5,605 linesWeek of 2025-08-31: -4,617 linesWeek of 2025-09-07: +12,789 linesWeek of 2025-09-07: -2,079 linesWeek of 2025-09-14: +3,326 linesWeek of 2025-09-14: -696 linesWeek of 2025-09-21: +4 linesWeek of 2025-09-21: -6 linesWeek of 2025-09-28: +13,210 linesWeek of 2025-09-28: -15,541 linesWeek of 2025-10-05: +70 linesWeek of 2025-10-05: -72 linesWeek of 2025-10-12: +40,797 linesWeek of 2025-10-12: -31,495 linesWeek of 2025-10-19: +27,392 linesWeek of 2025-10-19: -20,053 linesWeek of 2025-10-26: +6,801 linesWeek of 2025-10-26: -2,019 linesWeek of 2025-11-02: +28,241 linesWeek of 2025-11-02: -12,650 linesWeek of 2025-11-09: +46,828 linesWeek of 2025-11-09: -30,881 linesWeek of 2025-11-16: +6,331 linesWeek of 2025-11-16: -2,867 linesWeek of 2025-11-23: +1,775 linesWeek of 2025-11-23: -22,617 linesWeek of 2025-11-30: +18,781 linesWeek of 2025-11-30: -11,387 linesWeek of 2025-12-07: +30,502 linesWeek of 2025-12-07: -23,590 linesWeek of 2025-12-14: +16,212 linesWeek of 2025-12-14: -15,511 linesWeek of 2025-12-21: +26,498 linesWeek of 2025-12-21: -16,064 linesWeek of 2025-12-28: +45,047 linesWeek of 2025-12-28: -23,393 linesWeek of 2026-01-04: +35,822 linesWeek of 2026-01-04: -14,680 linesWeek of 2026-01-11: +2,821 linesWeek of 2026-01-11: -967 linesWeek of 2026-01-18: +1,741 linesWeek of 2026-01-18: -1,123 linesWeek of 2026-01-25: +2,110 linesWeek of 2026-01-25: -914 linesWeek of 2026-02-01: +12,756 linesWeek of 2026-02-01: -6,833 linesWeek of 2026-02-08: +12,493 linesWeek of 2026-02-08: -10,487 linesWeek of 2026-02-15: +11,402 linesWeek of 2026-02-15: -3,684 linesWeek of 2026-02-22: +13,557 linesWeek of 2026-02-22: -8,978 linesWeek of 2026-03-01: +0 linesWeek of 2026-03-01: -0 linesWeek of 2026-03-08: +3,706 linesWeek of 2026-03-08: -2,725 linesWeek of 2026-03-15: +77,941 linesWeek of 2026-03-15: -142,549 linesWeek of 2026-03-22: +5,001 linesWeek of 2026-03-22: -1,454 linesWeek of 2026-03-29: +12,859 linesWeek of 2026-03-29: -5,388 linesWeek of 2026-04-05: +9,684 linesWeek of 2026-04-05: -5,411 linesWeek of 2026-04-12: +7,337 linesWeek of 2026-04-12: -4,725 linesWeek of 2026-04-19: +41,018 linesWeek of 2026-04-19: -20,701 linesWeek of 2026-04-26: +10,558 linesWeek of 2026-04-26: -24,497 linesWeek of 2026-05-03: +51,151 linesWeek of 2026-05-03: -37,076 linesWeek of 2026-05-10: +19,654 linesWeek of 2026-05-10: -1,485 linesWeek of 2026-05-17: +2,294 linesWeek of 2026-05-17: -1,035 linesWeek of 2026-05-24: +30,497 linesWeek of 2026-05-24: -31,545 linesWeek of 2026-05-31: +4,330 linesWeek of 2026-05-31: -766 linesWeek of 2026-06-07: +17,124 linesWeek of 2026-06-07: -6,629 linesWeek of 2026-06-14: +5,615 linesWeek of 2026-06-14: -1,933 linesWeek of 2026-06-21: +10,084 linesWeek of 2026-06-21: -16,066 linesWeek of 2026-06-28: +23,414 linesWeek of 2026-06-28: -38,932 linesWeek of 2026-07-05: +16,748 linesWeek of 2026-07-05: -8,260 linesWeek of 2026-07-12: +32,636 linesWeek of 2026-07-12: -6,899 linesWeek of 2026-07-19: +24,295 linesWeek of 2026-07-19: -20,971 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesAug 31, 2025Jul 26, 2026
+828.9K lines added, -662.3K removed over the last year.

Commits per week

last 52 weeks
1880Week of 2025-08-03: 0 commitsWeek of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 3 commitsWeek of 2025-09-07: 15 commitsWeek of 2025-09-14: 7 commitsWeek of 2025-09-21: 1 commitsWeek of 2025-09-28: 6 commitsWeek of 2025-10-05: 1 commitsWeek of 2025-10-12: 58 commitsWeek of 2025-10-19: 128 commitsWeek of 2025-10-26: 26 commitsWeek of 2025-11-02: 67 commitsWeek of 2025-11-09: 48 commitsWeek of 2025-11-16: 42 commitsWeek of 2025-11-23: 16 commitsWeek of 2025-11-30: 50 commitsWeek of 2025-12-07: 155 commitsWeek of 2025-12-14: 105 commitsWeek of 2025-12-21: 94 commitsWeek of 2025-12-28: 79 commitsWeek of 2026-01-04: 43 commitsWeek of 2026-01-11: 11 commitsWeek of 2026-01-18: 13 commitsWeek of 2026-01-25: 27 commitsWeek of 2026-02-01: 188 commitsWeek of 2026-02-08: 70 commitsWeek of 2026-02-15: 67 commitsWeek of 2026-02-22: 37 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 24 commitsWeek of 2026-03-15: 30 commitsWeek of 2026-03-22: 20 commitsWeek of 2026-03-29: 59 commitsWeek of 2026-04-05: 53 commitsWeek of 2026-04-12: 54 commitsWeek of 2026-04-19: 64 commitsWeek of 2026-04-26: 10 commitsWeek of 2026-05-03: 58 commitsWeek of 2026-05-10: 9 commitsWeek of 2026-05-17: 8 commitsWeek of 2026-05-24: 36 commitsWeek of 2026-05-31: 27 commitsWeek of 2026-06-07: 55 commitsWeek of 2026-06-14: 19 commitsWeek of 2026-06-21: 25 commitsWeek of 2026-06-28: 47 commitsWeek of 2026-07-05: 37 commitsWeek of 2026-07-12: 80 commitsWeek of 2026-07-19: 48 commitsWeek of 2026-07-26: 0 commitsAug 3, 2025Jul 26, 2026
2.1K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 26 commitsSun 1:00 — 8 commitsSun 2:00 — 10 commitsSun 3:00 — 1 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 1 commitsSun 11:00 — 3 commitsSun 12:00 — 9 commitsSun 13:00 — 11 commitsSun 14:00 — 20 commitsSun 15:00 — 22 commitsSun 16:00 — 28 commitsSun 17:00 — 14 commitsSun 18:00 — 12 commitsSun 19:00 — 12 commitsSun 20:00 — 18 commitsSun 21:00 — 18 commitsSun 22:00 — 34 commitsSun 23:00 — 25 commitsMon 0:00 — 28 commitsMon 1:00 — 6 commitsMon 2:00 — 1 commitsMon 3:00 — 10 commitsMon 4:00 — 1 commitsMon 5:00 — 7 commitsMon 6:00 — 5 commitsMon 7:00 — 2 commitsMon 8:00 — 1 commitsMon 9:00 — 3 commitsMon 10:00 — 4 commitsMon 11:00 — 10 commitsMon 12:00 — 14 commitsMon 13:00 — 22 commitsMon 14:00 — 16 commitsMon 15:00 — 24 commitsMon 16:00 — 18 commitsMon 17:00 — 15 commitsMon 18:00 — 28 commitsMon 19:00 — 46 commitsMon 20:00 — 22 commitsMon 21:00 — 17 commitsMon 22:00 — 31 commitsMon 23:00 — 11 commitsTue 0:00 — 7 commitsTue 1:00 — 10 commitsTue 2:00 — 5 commitsTue 3:00 — 0 commitsTue 4:00 — 3 commitsTue 5:00 — 2 commitsTue 6:00 — 2 commitsTue 7:00 — 0 commitsTue 8:00 — 2 commitsTue 9:00 — 2 commitsTue 10:00 — 3 commitsTue 11:00 — 6 commitsTue 12:00 — 4 commitsTue 13:00 — 10 commitsTue 14:00 — 29 commitsTue 15:00 — 20 commitsTue 16:00 — 29 commitsTue 17:00 — 22 commitsTue 18:00 — 15 commitsTue 19:00 — 13 commitsTue 20:00 — 16 commitsTue 21:00 — 16 commitsTue 22:00 — 28 commitsTue 23:00 — 19 commitsWed 0:00 — 11 commitsWed 1:00 — 5 commitsWed 2:00 — 11 commitsWed 3:00 — 9 commitsWed 4:00 — 2 commitsWed 5:00 — 2 commitsWed 6:00 — 8 commitsWed 7:00 — 1 commitsWed 8:00 — 0 commitsWed 9:00 — 7 commitsWed 10:00 — 2 commitsWed 11:00 — 5 commitsWed 12:00 — 6 commitsWed 13:00 — 15 commitsWed 14:00 — 27 commitsWed 15:00 — 20 commitsWed 16:00 — 34 commitsWed 17:00 — 21 commitsWed 18:00 — 21 commitsWed 19:00 — 31 commitsWed 20:00 — 28 commitsWed 21:00 — 23 commitsWed 22:00 — 22 commitsWed 23:00 — 10 commitsThu 0:00 — 6 commitsThu 1:00 — 10 commitsThu 2:00 — 3 commitsThu 3:00 — 2 commitsThu 4:00 — 0 commitsThu 5:00 — 1 commitsThu 6:00 — 0 commitsThu 7:00 — 2 commitsThu 8:00 — 0 commitsThu 9:00 — 6 commitsThu 10:00 — 4 commitsThu 11:00 — 8 commitsThu 12:00 — 12 commitsThu 13:00 — 14 commitsThu 14:00 — 20 commitsThu 15:00 — 25 commitsThu 16:00 — 8 commitsThu 17:00 — 20 commitsThu 18:00 — 49 commitsThu 19:00 — 21 commitsThu 20:00 — 26 commitsThu 21:00 — 17 commitsThu 22:00 — 18 commitsThu 23:00 — 18 commitsFri 0:00 — 11 commitsFri 1:00 — 22 commitsFri 2:00 — 25 commitsFri 3:00 — 20 commitsFri 4:00 — 5 commitsFri 5:00 — 10 commitsFri 6:00 — 1 commitsFri 7:00 — 0 commitsFri 8:00 — 1 commitsFri 9:00 — 4 commitsFri 10:00 — 8 commitsFri 11:00 — 19 commitsFri 12:00 — 6 commitsFri 13:00 — 5 commitsFri 14:00 — 16 commitsFri 15:00 — 22 commitsFri 16:00 — 8 commitsFri 17:00 — 13 commitsFri 18:00 — 16 commitsFri 19:00 — 14 commitsFri 20:00 — 19 commitsFri 21:00 — 30 commitsFri 22:00 — 21 commitsFri 23:00 — 30 commitsSat 0:00 — 9 commitsSat 1:00 — 9 commitsSat 2:00 — 5 commitsSat 3:00 — 12 commitsSat 4:00 — 5 commitsSat 5:00 — 3 commitsSat 6:00 — 3 commitsSat 7:00 — 2 commitsSat 8:00 — 8 commitsSat 9:00 — 3 commitsSat 10:00 — 0 commitsSat 11:00 — 3 commitsSat 12:00 — 1 commitsSat 13:00 — 7 commitsSat 14:00 — 32 commitsSat 15:00 — 11 commitsSat 16:00 — 19 commitsSat 17:00 — 31 commitsSat 18:00 — 24 commitsSat 19:00 — 35 commitsSat 20:00 — 25 commitsSat 21:00 — 34 commitsSat 22:00 — 11 commitsSat 23:00 — 25 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits1,952 (82%)
Community commits419 (18%)

2,371 commits in total over the last year.

DateListRankStars gained
Apr 30, 2026daily#25+40
Apr 21, 2026daily#10+122
Apr 20, 2026daily#14+151
Apr 19, 2026daily#14+215
Apr 18, 2026daily#8+276
Apr 17, 2026daily#4+308
Apr 16, 2026daily#6+214
Apr 15, 2026daily#5+283
Apr 14, 2026daily#4+313
Apr 13, 2026daily#4+399
Apr 12, 2026daily#8+469
Mar 30, 2026daily#20+109
Mar 17, 2026daily#20+167
Mar 16, 2026daily#18+137
Feb 10, 2026daily#16+176
  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    268.6K stars · Shell

  • react/react

    The library for web and native user interfaces.

    247.1K stars · JavaScript