memory for your
AI agents.
A local-first CLI that gives agents persistent, curated memory. Log work as it happens. Let AI decide what matters. Recall it next session.
// the problem
Every new session, your AI agent wakes up with amnesia. It doesn't know what you shipped yesterday, what decisions you made last week, or what the team is focused on. You paste context. You re-explain. You repeat yourself.
// the fix
open-think is a local-first CLI that gives agents persistent, curated memory. Your work gets logged as it happens, curated by AI into what actually matters, and made available to any agent that needs it.
Built for Claude Code users and developers who want their tools to remember.
// next
Read the concepts to understand the pipeline, or jump to install if you want to start using it now.
// concepts
Five concepts. One pipeline. Entries become engrams, engrams become memories, memories get recalled.
entries
Timestamped notes and work logs. The raw material. Stored locally in SQLite, always on your machine.
engrams
Raw work events awaiting evaluation. When a cortex is active, your syncs become engrams — short-lived signals waiting to be curated. Engrams never leave your machine.
cortex
A memory workspace. Personal or shared. Each cortex is a separate memory space with its own engrams, memories, and curation history, backed by a git repo.
curator
AI-powered evaluation. Reads engrams, weighs them against what's already known, and promotes what matters to long-term memory. Drops the rest.
recall
Search across memories and local engrams. Give your agents context before they start working. The recall surface is what other agents read from.
// architecture
Local-first, by default. Engrams never leave your machine unless you explicitly curate them. The curator runs locally. Only promoted memories are pushed to your chosen backend.
┌─ your machine ─────────────────────────────────────────┐ ┌─ backend ─┐ │ │ │ │ │ entries ──→ engrams ──→ curator ──→ memories │ ─→ │ git │ │ (local AI) │ │ S3* │ │ │ │ PG* │ └────────────────────────────────────────────────────────┘ └───────────┘ * future backends. today, git is the backend. point think at a repo and go.
// install
Five steps from zero to a working memory pipeline.
-
Install the CLI
$npm install -g open-thinkRequires Node 22.5+ (uses the built-in
node:sqlitemodule). -
Log something
$think sync "first entry"Without an active cortex, syncs are stored locally as plain entries.
-
Set up a cortex
$think cortex setup git@github.com:you/memory.git$think cortex create personalPoint think at any git repo. The cortex becomes the home for curated memories.
-
Set up your agents
$think initWrites work-logging instructions into your project's CLAUDE.md.
-
Curate & recall
$think curate$think recall "what did I ship?"Curation evaluates pending engrams and promotes the important ones to long-term memory.
// built for AI agents
Drop into any Claude Code project, run think init, and your agents start auto-logging work. The curator decides what's worth remembering. Next session, the agent recalls what it needs — no pasting, no re-explaining.
// docs
Reference, source, and where to find help.
// all commands
Run think --help for the full command reference, or browse the README on GitHub.
// links
- githubgithub.com/MicroMediaSites/think-cli
- npmnpmjs.com/package/open-think
- issuesgithub.com/MicroMediaSites/think-cli/issues
- licenseMIT
// where things live
- ~/.think/default data directory (override with
$THINK_HOME) - data/think.dblocal entries (SQLite)
- engrams/per-cortex engram buffers
- repo/cloned cortex (curated memories live here)