Claude-Mem: Persistentes Gedächtnis-Plugin für Claude Code
Claude-Mem ist ein Drittanbieter-Plugin, das beobachtet, was dein Agent tut, einen zweiten Agenten diese Aktivität in kurze Beobachtungen verdichten lässt und einen kompakten Index davon in die nächste Sitzung injiziert. Hier steht, was es tatsächlich tut, wie du es installierst und konfigurierst und wo es aufhört und CLAUDE.md anfängt.
Claude-Mem auf einen Blick
- Es ist eine Gedächtnisschicht, keine Regeldatei: Hooks übergeben jeden Tool-Aufruf an einen lokalen Worker, ein zweiter Agent verwandelt diese Aktivität in kurze Beobachtungen, und die nächste Sitzung beginnt mit einem kompakten Index daraus.
- Zwei unterstützte Installationswege: npx claude-mem install (bereitet die Laufzeit vor und öffnet ein Setup im Browser) oder das Paar /plugin marketplace add thedotmack/claude-mem und danach /plugin install claude-mem.
- Apache-2.0, TypeScript, gepflegt von Alex Newman (thedotmack). Das Gedächtnis liegt lokal in SQLite unter ~/.claude-mem/claude-mem.db; Cloud-Sync ist optional.
- Es ersetzt weder CLAUDE.md noch das automatische Gedächtnis von Claude Code — alle drei werden beim Sitzungsstart geladen und beantworten unterschiedliche Fragen. Die Vergleichstabelle unten ist die Kurzfassung.
thedotmack/claude-mem — README
Quellegithub.comchecked 2026-11-13
.claude-plugin/marketplace.json — claude-mem 15.18.3
Quelleraw.githubusercontent.comchecked 2026-11-13
Installation Guide
Quelledocs.claude-mem.aichecked 2026-11-13
Configuration
Quelledocs.claude-mem.aichecked 2026-11-13
Telemetry — what is collected and how to opt out
Quelledocs.claude-mem.aichecked 2026-11-13
How Claude remembers your project — CLAUDE.md vs auto memory
Quellecode.claude.comchecked 2026-11-13
dsh-claude-mem — DeepSeek Harness port (unofficial)
Quelledeepseekharnessplugins.comchecked 2026-11-13
Befehle, Einstellungen, Standardwerte und Pfade auf dieser Seite wurden am 2026-11-13 aus dem Upstream-Repository und der offiziellen Dokumentation übernommen. Befehle und Einstellungsnamen bleiben bewusst unübersetzt, denn ein übersetzter Befehl ist ein kaputter Befehl.
Repository-Daten aus der GitHub-API vom 2026-11-13: 116,640 Sterne, 10,120 Forks, erstellt am 2025-08-31, letztes Release v15.18.3 veröffentlicht am 2026-11-12. Sternezahlen ändern sich täglich — behandle sie als Momentaufnahme, nicht als Bewertung.
Was Claude-Mem tatsächlich ist
Claude-Mem ist ein Open-Source-Plugin für Claude Code (und ein Dutzend weiterer Coding-Agenten), das dem Agenten ein Gedächtnis für seine eigene Arbeit gibt. Das Projekt beschreibt das Problem nüchtern: Jede neue Sitzung beginnt bei null, liest dieselben Dateien erneut, stellt dieselben Fragen erneut und tappt wieder in Fehler, die ihr längst behoben hattet.
Die Antwort ist ein zweiter Agent, der neben deinem läuft. Hooks im Host-Agenten übergeben jeden Tool-Aufruf — was gelesen, geändert und ausgeführt wurde — an einen kleinen lokalen Worker. Dieser Worker lässt ein Beobachtermodell über die Aktivität laufen, schreibt kurze strukturierte Beobachtungen und eine Zusammenfassung am Sitzungsende und legt sie in einer lokalen SQLite-Datenbank ab. Wenn eine neue Sitzung beginnt, erhält der Host-Agent einen kompakten Index der Beobachtungen, die für dieses Projekt relevant sind, und ruft Details nur ab, wenn er sie braucht.
Die Einheit des Gedächtnisses ist hier also eine Beobachtung über tatsächlich stattgefundene Arbeit, keine Anweisung, die du geschrieben hast. Genau darin liegt der Unterschied zu CLAUDE.md, und deshalb koexistieren beide, statt zu konkurrieren.
- Lizenz
- Apache-2.0
- Letztes Release
- v15.18.3 · 2026-11-12
- Gedächtnis liegt in
~/.claude-mem/claude-mem.db- Sterne (2026-11-13)
- 116,640
So funktioniert es, in drei Schritten
Das README beschreibt die Schleife in drei Sätzen, und alles andere hängt daran:
- 1
Dein Agent arbeitet
Lifecycle-Hooks im Host-Agenten übergeben jeden Tool-Aufruf an einen kleinen lokalen Worker. Bei Claude Code decken die Hooks SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PostToolUseFailure, Stop, SubagentStop und SessionEnd ab, dazu einen Setup-Eintrag für claude --init und --maintenance. Jeder Hook ist ein einziger Befehl ohne Shell, claude-mem hook claude-code <event>.
- 2
Der Beobachter macht Notizen
Ein zweiter Agent verwandelt diese Aktivität in kurze Beobachtungen und schreibt am Sitzungsende eine Zusammenfassung. Standardmäßig ist das Komprimierungsmodell Haiku (CLAUDE_MEM_MODEL=haiku) und läuft über deinen Anthropic-Tarif; du kannst stattdessen einen OpenRouter- oder Gemini-Schlüssel verwenden oder den gehosteten Beobachter des Anbieters.
- 3
Die nächste Sitzung startet damit
Bei SessionStart erhält der Agent einen kompakten Index der Beobachtungen für dieses Projekt — standardmäßig 50, einstellbar über CLAUDE_MEM_CONTEXT_OBSERVATIONS — und holt Details nur bei Bedarf. Die Injektion beginnt ab deiner zweiten Sitzung in einem Projekt, weil die erste noch nichts zu injizieren hat.
Auch die Suche folgt dieser geschichteten Idee. Drei MCP-Tools — search, timeline, get_observations — liefern zuerst einen Index, dann chronologischen Kontext und zuletzt die vollständigen Datensätze, sodass der Agent nur für die Zeilen mit Details bezahlt, die er ausgewählt hat. Der Skill mem-search steuert diese Tools für dich, und die Zahlen im README veranschlagen rund 50–100 Tokens pro Indexzeile gegenüber 500–1.000 für einen vollständigen Datensatz — ein Verhältnis pro Zeile, das laut README ausdrücklich keine gemessene End-to-End-Ersparnis ist.
Was der Worker dir sonst noch bietet
Der lokale Worker stellt unter der beim Start ausgegebenen URL einen Viewer bereit — Gedächtnis, Sitzungen und Einstellungen unter /viewer, dazu My Work in der Wurzel — und bietet über die Suche hinaus weitere Tools: smart_search, smart_outline und smart_unfold für die Codenavigation, save_memory für bewusst gespeicherte Notizen sowie die Verfolgung des Arbeitsstatus. Jede Beobachtung hat eine ID, die du über die Worker-API zitieren kannst.
Installieren und prüfen
Beide Wege unten sind aus der Upstream-Dokumentation übernommen. Der Installer-Weg ist der vom Projekt empfohlene, weil er die Laufzeit vorbereitet und den Hook-Launcher kompiliert; der Plugin-Weg sind zwei Eingaben in Claude Code.
Weg 1 — der Installer
Führe dies in einem Terminal aus. Der Installer prüft Bun und uv, kopiert die Plugin-Dateien, installiert Abhängigkeiten, legt den Launcher claude-mem in deinen PATH und öffnet ein Setup im Browser, in dem du Agenten, Integrationen, Skills und den Gedächtnisanbieter auswählst. Lass das Terminal während der Nutzung dieser Seite laufen.
npx claude-mem installInstalliere es nicht mit npm install -g claude-mem. Das README stellt klar, dass eine globale npm-Installation nur das SDK bzw. die Bibliothek auf deinen Rechner legt — sie registriert keine Plugin-Hooks und startet keinen Worker und kann den echten Launcher im PATH überschatten.
Weg 2 — der Plugin-Marketplace
Sende diese beiden Befehle als zwei getrennte Eingaben in Claude Code und starte es danach neu. Beide Wege konfigurieren die Hooks und starten den Worker; Kontext aus früheren Sitzungen erscheint dann automatisch in neuen Sitzungen.
/plugin marketplace add thedotmack/claude-mem/plugin install claude-memEine Installation nur über den Marketplace hat keinen Installer-Schritt, daher legt das Plugin seinen Launcher beim ersten Sitzungsstart ab, während es kompiliert — diese erste Sitzung kann ohne Gedächtniskontext laufen, die nächste hat ihn. Ein einmaliges npx claude-mem install schließt diese Lücke.
Prüfen, ob es wirklich läuft
Führe npx claude-mem doctor aus: Der Befehl prüft Bun, uv, den Hook-Launcher und den Worker und sagt dir, was zu beheben ist. claude-mem --version gibt die Protokollnummer des Launchers aus, und die beim Start ausgegebene Worker-URL liefert den Viewer. Wenn Hooks „Executable not found in $PATH“ melden, zeigt doctor, welches claude-mem im PATH aufgelöst wird und ob es der Launcher ist.
npx claude-mem doctorclaude-mem --versionVoraussetzungen, bevor du beginnst
- 1Node.js 20.19 oder neuer in der 20.x-Reihe, oder 22.12 oder neuer.
- 2Bun 1.2.16 oder neuer — damit wird der Hook-Launcher kompiliert; der Installer installiert Bun, falls es fehlt.
- 3uv, wird bei Bedarf automatisch installiert: liefert die Python-Seite von Chromas Embedding-Dienst für die semantische Suche.
- 4Claude Code 2.1.139 oder neuer — das erste Release, das Hook-Argumente in Exec-Form ausführt. Ältere Builds ignorieren die Argumente und führen ein nacktes claude-mem aus, sodass nichts erfasst wird. SQLite kommt über bun:sqlite mit.
Die Einstellungen, die das Verhalten wirklich ändern
Alles liegt in ~/.claude-mem/settings.json, wird beim ersten Lauf mit Standardwerten automatisch erstellt, und eine Umgebungsvariable gleichen Namens überschreibt die Datei. Diese Zeilen solltest du kennen; die Konfigurationsseite dokumentiert den Rest.
| Einstellung | Standard | Was sie bewirkt |
|---|---|---|
CLAUDE_MEM_MODEL | haiku | Modell zum Komprimieren der Beobachtungen, wenn der Anbieter Claude ist. haiku folgt dem neuesten Haiku; eine vollständige ID legt eine Version fest. |
CLAUDE_MEM_PROVIDER | claude | Welcher Anbieter den Beobachter ausführt: claude, codex, gemini, openrouter oder openai-compatible. |
CLAUDE_MEM_CONTEXT_OBSERVATIONS | 50 | Wie viele Beobachtungen beim Sitzungsstart injiziert werden. Verringere den Wert, wenn dir der Block beim Start zu schwer wird. |
CLAUDE_MEM_MODE | code | Workflow-Profil und Sprache der erzeugten Beobachtungen, z. B. code, code--chill für weniger Beobachtungen oder code--zh für Chinesisch. |
CLAUDE_MEM_DATA_DIR | ~/.claude-mem | Datenwurzel. Alle anderen Pfade — Datenbank, Chroma-Index, Logs, Einstellungen, PID- und Portdateien des Workers — leiten sich daraus ab. |
CLAUDE_MEM_WORKER_PORT | 37700 + (uid % 100) | Port des Workers. Der Standard ist pro Benutzer, damit zwei Benutzer auf einer Maschine nicht kollidieren; setze einen festen Port, wenn du gegen die HTTP-API skriptest. |
CLAUDE_MEM_CONTEXT_PROJECTS | current | Für welche Projekte SessionStart Erinnerungen liest: current ist dieser Checkout, all sind alle Projekte außer denen, die du per Glob-Muster ausschließt. |
CLAUDE_MEM_SKIP_TOOLS | ListMcpResourcesTool, SlashCommand, Skill, TodoWrite, AskUserQuestion | Tools, die von Beobachtungen ausgeschlossen sind. Nützlich für Tools, deren Ausgabe eher Rauschen als Wissen ist. |
CLAUDE_MEM_SESSION_START_INCLUDE_ALL_SOURCES | false | Ob der SessionStart-Kontext Beobachtungen aus allen Harnesses enthält, nicht nur aus dem aktuellen. Standard: false. |
CLAUDE_MEM_SKILLS_DISABLED | (none) | Blendet mitgelieferte Skills aus der Liste und den Slash-Befehlen von Claude Code aus, per reinem Ordnernamen. |
Zwei weitere solltest du kennen: CLAUDE_MEM_SKIP_BASH_PATTERNS nimmt einen regulären Ausdruck, der auf jeden Shell-Befehl angewendet wird, damit laute Befehle nie zu Beobachtungen werden, und CLAUDE_MEM_REDACT_ENABLED (standardmäßig aus) schaltet die automatische Redaktion erkannter Geheimnis-Muster vor dem Speichern ein.
Claude-Mem vs. das eingebaute Gedächtnis von Claude Code
Claude Code trägt bereits auf zwei Wegen Wissen über Sitzungen hinweg, und die Dokumentation von Anthropic behandelt beide als ergänzend: CLAUDE.md-Dateien, die du schreibst, und das automatische Gedächtnis, das Claude selbst schreibt. Claude-Mem ist eine dritte, unabhängige Schicht darüber.
| Dimension | In Claude Code eingebaut | Claude-Mem-Plugin |
|---|---|---|
| Wer schreibt es | Du schreibst CLAUDE.md; Claude schreibt das automatische Gedächtnis aus deinen Korrekturen. | Ein zweiter Beobachter-Agent, aus der Tool-Aktivität deiner Sitzung. |
| Wo es liegt | CLAUDE.md im Projektstamm oder ~/.claude/CLAUDE.md; das automatische Gedächtnis unter ~/.claude/projects/<project>/memory/ mit einem MEMORY.md-Index. | SQLite unter ~/.claude-mem/claude-mem.db, dazu Einstellungen und Logs im selben Ordner. Optionaler Chroma-Index für die semantische Suche. |
| Was hineingehört | Anweisungen und Regeln; das automatische Gedächtnis enthält Erkenntnisse und Muster, und nur seine ersten 200 Zeilen bzw. 25 KB werden geladen. | Beobachtungen über stattgefundene Arbeit — Entscheidungen, Bugfixes, was gelesen und geändert wurde — von einem Modell verdichtet. |
| Wann es geladen wird | In jeder Sitzung, automatisch, als Kontext nach dem System-Prompt. | Bei SessionStart über einen Hook, ab deiner zweiten Sitzung in einem Projekt. |
| Wie es gelesen wird | Die ganze Datei bzw. der Index des automatischen Gedächtnisses liegt einfach im Kontext; /memory listet die Dateien auf und öffnet sie. | Ein kompakter Index wird injiziert; Details kommen über drei MCP-Tools zurück — search, timeline, get_observations. |
| Abhängigkeiten und Kosten | Nichts Zusätzliches — es ist Teil von Claude Code. | Node, Bun und uv, ein lokaler Worker-Prozess und ein Modell, das komprimiert: standardmäßig dein Anthropic-Tarif, dein eigener Schlüssel oder der kostenpflichtige gehostete Beobachter. |
Die praktische Aufteilung: Regeln und Konventionen in CLAUDE.md, Vorlieben ins automatische Gedächtnis, und Claude-Mem trägt die Historie dessen, was du tatsächlich getan hast. Wenn ein Sitzungsdetail nur einmal zählt, braucht keiner der drei es; wenn eine Regel immer gelten muss, gehört sie allein in CLAUDE.md. Beim Speichern schließen sie sich nicht einmal aus — der Memory-Ingest von claude-mem importiert die Themen-Dateien des automatischen Gedächtnisses von Claude Code als Beobachtungen in seine eigene Datenbank, ohne Modell-Token zu verbrauchen.
Claude Code Memory TutorialDatenschutz, Grenzen und ehrliche Einschränkungen
Dieses Plugin zeichnet deine Arbeitssitzungen auf, daher lohnt ein Blick auf die Standardwerte, bevor es in einem Arbeits-Repository landet.
- 1Standardmäßig lokal. Sitzungen, Beobachtungen und Zusammenfassungen werden in SQLite unter ~/.claude-mem/claude-mem.db geschrieben; Einstellungen und Logs liegen im selben Ordner. Cloud-Sync ist optional, nicht automatisch.
- 2Alles in <private>-Tags wird nie gespeichert — so formuliert es das README. Die automatische Redaktion erkannter Geheimnis-Muster ist ein eigener Opt-in-Schalter, CLAUDE_MEM_REDACT_ENABLED, und standardmäßig aus.
- 3Anonyme Telemetrie ist standardmäßig aktiv (PostHog, nur an eine zufällige Installations-UUID gebunden). Schalte sie mit npx claude-mem telemetry disable ab; DO_NOT_TRACK wird respektiert und überschreibt alles.
- 4Komprimierung ist ein Modellaufruf, also verlässt die Tool-Aktivität den Rechner in Richtung des von dir gewählten Anbieters — dein Anthropic-Tarif, dein OpenRouter- oder Gemini-Schlüssel oder der gehostete Beobachter des Anbieters. Wähle bewusst.
- 5Es ist Drittanbieter-Software, kein Anthropic-Produkt, und es installiert ausführbare Hooks. Lies plugin/hooks/hooks.json und die Einstellungen, bevor du es im Team ausrollst; behandle das Plugin als Code, den du ausführst, denn genau das ist es.
- 6Es kostet Kontext ebenso wie Tokens: ein injizierter Index, ein Worker-Prozess und Bun sowie uv auf der Maschine. Wenn deine Sitzungen ohnehin kurz und in sich geschlossen sind, ist der Gewinn klein — miss es an deinem eigenen Repository, statt einer Schlagzeile zu glauben.
Nichts davon macht es zu einer schlechten Installation. Es macht es zu einem Werkzeug, das du zuerst an einem echten Projekt ausprobieren solltest — Repositories, die nie aufgezeichnet werden sollen, per Glob-Muster ausgeschlossen und die Telemetrie abgeschaltet, wenn du magst — bevor du es zum Standard für alles machst, was du öffnest.
Telemetrie ist mit einem Befehl abgeschaltet:
npx claude-mem telemetry disable