Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
One versioned memory for Claude Code, Cursor, Codex and every MCP tool. memgit cloud syncs it to every machine and teammate on its own, end-to-end encrypted. Free open-source CLI; 14 days of sync free
Developer toolsPython · TypeScriptGitHub @code4161OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
One memory for Claude Code, Cursor and Codex on every machine. Imports Claude Code's own memory, versions every change, syncs end-to-end encrypted. Local-first MCP server, MIT.
Loading the full README.
Read the full README ↗The same memory in every session, on every machine, in every tool. Versioned, so a wrong memory is one command to undo.
Claude Code now remembers things on its own, on one machine. Its docs are plain about the limit: auto memory is machine-local and is not shared across machines or cloud environments. memgit is the layer on top. It imports what Claude Code already keeps and adds the three things built-in memory does not do:
memgit diff shows what an agent changed and memgit rollback puts it back.Unedited terminal recording, regenerated from the released package on every release.
Claude Code (two commands inside Claude Code, nothing else to set up):
/plugin marketplace add code4161/claude-plugins
/plugin install memgit@memgit
The plugin starts the memory server, creates the store on first use and adds the hooks that bring memory in at session start and save what a session learns. It needs Node and Python 3.11+ on the machine.
Any other tool, or the full CLI:
pip install memgit # or: brew tap code4161/tap && brew install memgit
memgit init # creates the store, imports the memory Claude Code already keeps,
# and offers to connect every AI tool it finds on this machine
That is the whole setup. Restart your AI tool: it now starts each session with your memory and saves what it learns. memgit resume shows exactly what it will see.
Any MCP host by config (needs Python 3.11+ on PATH; the first run installs memgit into its own environment and creates the store):
{ "mcpServers": { "memgit": { "command": "npx", "args": ["-y", "memgit-mcp"] } } }
Windows: choco install memgit (new versions can wait a few days in Chocolatey moderation; pip install memgit always has the latest).
memgit cloud signup # on the first machine: one passphrase, then it syncs on its own
memgit cloud login # on every other machine
Every save goes up in the background and other machines' memories arrive at session start and while you work. The server stores ciphertext only; the passphrase never leaves your machine. Free for 14 days with no card, then $12 a month or $99 a year. The local engine, the store, the MCP server and every command are MIT and never gated, and a lapsed plan never locks your data: it stays on your machine, readable and exportable.
Until a store is connected, memgit may show one line about this, decided on your machine and sent nowhere: when the store reaches 50 and 250 memories, when it is opened on a second machine, and after an export or a backup, each at most once, for example "214 memories are on this machine. memgit cloud signup puts them on your other machines too (14 days free, no card). Setup tips by email: memgit tips ." Turn it off with memgit cloud hint off or MEMGIT_NO_SYNC_HINT=1.
memgit tips [email protected] asks memgit.dev for four short setup emails over ten days. It sends that address and nothing else; memgit.dev emails a confirmation link first, and every tip has a one-click unsubscribe link.
memgit fsck # every object verified by SHA-256
memgit stats # what your context costs with and without memgit, measured on your store
memgit cloud auto status # whether anything leaves this machine, and when it last did
With no cloud login and no licence key, memgit talks to nothing.
You've probably already tried both. Here's why they hit a ceiling:
| Capability | claude.md | mem-search plugin | memgit |
|---|---|---|---|
| Loads only relevant context | ❌ loads everything | ⚠️ loads recent observations | ✅ BM25 search — top-k per query |
| Project-aware across a multi-repo life | ❌ per-file | ❌ | ✅ memories carry a project; the current workspace ranks first |
| Adopt on an existing codebase | ❌ starts blank | ❌ starts blank | ✅ memgit onboard — seed the store from the repo in one pass |
| Version history | ❌ | ❌ | ✅ full commit log |
| Diff between sessions | ❌ | ❌ | ✅ memgit diff |
| Roll back a wrong memory | ❌ manual edit | ❌ | ✅ memgit rollback |
| Works in Cursor, Windsurf, GPT | ❌ Claude only | ❌ Claude only | ✅ all via MCP / HTTP |
| Team sync | ❌ copy-paste files | ❌ | ✅ memgit git push |
| Scales to 10k+ sessions | ❌ file grows | ❌ search slows | ✅ memgit squash |
| Measurable token savings | ❌ | ❌ | ✅ memgit stats |
| Export / import standard format | ❌ | ❌ | ✅ TOON + git |
Run this on your own store to see the actual numbers (measured where possible; estimates labeled):
This is the beginning of the README. Read the rest at the original. Read the full README ↗