engram
v0.5.1 out now · free and open source

Your AI's memory, in one terminal

Claude Code writes memories to disk, one folder per project. engram puts them all in one fast TUI and shares the best with your team over plain git.

brew install ertugrulhaskan/tap/engram

macOS, Linux · single binary · no engram service, no signup

memories  5plans  2

engram v0.5.1

type: all   group: project/search

▌ support-agent (3)

projectModel and limits live in agent.yaml
projectRetries stop after 24 hours
feedbackKeep prompts under 300 words

▌ docs-search (2)

feedbackCite sources in answers
referenceIndex URL lives in .env

5 of 5 shown

Model and limits live in agent.yaml

project support-agent/memory/agent-limits.md · edited yesterday

Every call reads its model and limits from one agent.yaml. No IDs hard-coded, so switching to claude-sonnet-5 is a one-line change.

model:      claude-sonnet-5
max_tokens: 1024
stream:     true

e edit  n new  ^P palette  q quit

// what engram is

Your AI already takes notes. engram is where you read them

You rarely open the files Claude writes. They drift out of date, and there's no clean way to correct one or hand it to a teammate.

Every memory, one place

One searchable two-pane TUI across all your projects. No more grepping ~/.claude by hand.

Share over plain git

Promote a memory; teammates pull it. No engram service or account: your git host is the auth.

Safe by default

Read-only until you act. engram only adds its own frontmatter and never rewrites Claude's. It scans for secrets before anything reaches your shared repo.

// the moat

Your memory, not their server

Every assistant keeps a memory of how you work. What matters is where it lives, and whether you can read, move, and version it.

Claude Code + engramyour disk · plain Markdownyes, it's just files in git
Gemini appGoogle account · serverno, vendor-locked
GrokxAI account · serverno, vendor-locked
CopilotGitHub account · serverno, vendor-locked

Claude Code is the outlier: it writes memory to ~/.claude as Markdown you own. engram adds the UI and the git layer, so what your team knows stays portable instead of locked behind a login.

// team sharing

Every memory is personal until you promote it

Promote asks one thing: who is this for? Your answer decides where the memory lives, and engram keys it to your git remote without an engram service in between.

default

Personal

Stays on your disk. Never synced, never shared. No badge, just yours.

team · this project

Shared with this repo

Teammates who pull in their clone get it in their memory folder. Keyed to the git remote, so it travels with the code.

team · global

Shared team-wide

Tied to no repo, for what isn't about one codebase. It lives in the team store, and keeps every copy you hold in step.

engram keys sharing to your git remote: project memories follow the repo, global memories follow the team.

1 · onceengram init-team <git-url>
2 · in the TUImark & promote · one commit + push
3 · teammatepull · lands where Claude reads
// command palette

One field. Type anything

ctrl+p or ctrl+k opens one sectioned list. Fuzzy-search a memory or plan, type a command name directly, or use /, @, and > only when you want to narrow the list.

engram:  type to jump or run…

Jump to

Project setup conventions

Sources

/memories

Team

>promote

Assistant

@Claude

type to jump · ↑↓ · ↵ · esc close

// roadmap

What's here, what's next

available

Local browsing

Discovery, search, editing, plans, the @ assistant handoff, and the Midnight, Paperback and CRT themes.

available

Team sharing over git

Promote one or a whole marked batch, pull, withdraw. Resolve a conflict with an inline diff before $EDITOR opens. Direction-aware badges, secret-scan on the way out.

in progress

Other assistants

AGENTS.md, GEMINI.md, Cursor rules and Copilot instructions are browsable now, per project and globally. @ hands a project to Claude Code, the Gemini CLI, Codex or Copilot. Next: ChatGPT and Gemini app, via export/import.

// faq

Questions we get asked

Where does Claude Code store its memories?

In ~/.claude, as Markdown files, one folder per project. Claude writes them as you work; engram is the UI over that folder.

How do I share Claude Code memory with my team?

Run engram init-team <git-url> once, then promote a memory in the TUI. engram commits and pushes it; teammates pull and it lands in their memory folder, where Claude reads it. There's no engram service or account in between.

Does engram send my memories anywhere?

No. It's a single local binary. Nothing leaves your machine unless you explicitly promote a memory to a git remote you chose, and engram scans for secrets before anything reaches a shared repo.

How is this different from sharing CLAUDE.md?

A CLAUDE.md committed to your repo shares instructions your team writes deliberately. Claude's auto-learned memories are different: they stay machine-local. engram fills that gap by letting you promote selected memories through your own git remote.

Is engram free?

Yes, free and open source under the MIT License. Install it with brew install ertugrulhaskan/tap/engram or go install. macOS and Linux.

Does it work with ChatGPT, Gemini, or Copilot?

Partly. Alongside Claude Code's memories, engram shows each project's AGENTS.md, GEMINI.md, Cursor rules and Copilot instructions read-only, plus the global ~/.gemini/GEMINI.md and ~/.codex/AGENTS.md. A scanRoots setting covers repos never opened in Claude Code. Pressing @ opens a Claude Code, Gemini CLI, Codex or Copilot session. No assistant exposes a memory API, so server-side memories arrive by export and import.

Stop grepping your memory files

One binary. No engram service. No signup. Yours today, your team as soon as you promote.

brew install ertugrulhaskan/tap/engram