Can you remember everythingin your brain?AI needs notes too.

linklore.io
REVIEW · EXTERNAL AIFeels like it thinks with me.
Save to LinkLore✓ Saved
Feels like it thinks with me.lr-72a3ee40
~/project — codex
$llre add title="Feels like it thinks with me"
checking related lore…
✓ saved → lr-72a3ee40
synced to 4 surfaces
Feels like it thinks with me.lr-72a3ee40
Claude
Thinks with me
✓ SavedFeels like it thinks with me. · lr-72a3ee40
! 1 duplicate candidate
Gemini
Saved lore
Feels like it thinks with me.lr-72a3ee40
Compare duplicate3 matching passagesOpen comparison
COMPATIBLE AGENTS
Claude CodeCursorGemini CLICodex+ any MCP client
dogfooded: 26 projects · 5,699 commits · 11 months

Three outcomes that end the project recap.

linklore.io
$ brief() → context restored · 0.8s ✓
Instant recall
One call restores the whole project context in a new session.
linklore.io
⚠ drift — auth.py changed since lr-f3a4b5c6
Code-linked memory
When linked code changes, memory knows.
linklore.io
$ push → backend-team ✓
Team sync
Share memory across teammates and projects with push/pull.

The honest comparison

LinkLore vs. AI's built-in memory vs. Plain markdown

Axis · click for detail
LinkLore
AI built-in memory
Plain markdown
4/5
1/5
1/5

Stored in a local SQLite file and reloaded automatically with brief() at the start of every session.

LinkLore

CLAUDE.md / MEMORY.md persists on disk and Claude Code reloads it automatically each session.

AI built-in memory

Files stick around on disk across sessions too. Nothing agent-specific needed.

Plain markdown

Optional backend sync layer with viewer/member/owner roles. Shared across teammates and your own machines.

LinkLore

Machine-local by design, per Claude Code's own docs. Not shared across teammates or even your own other machines.

AI built-in memory

Committing the file to git gets it in front of teammates, but it's a manual push with no roles or access control.

Plain markdown

add() checks new entries against existing ones and flags contradictions instead of letting them silently coexist.

LinkLore

Nothing checks the memory file against what's currently true. It can state something already-corrected and never catch up.

AI built-in memory

Fully manual. A stale note sits there looking just as confident as a current one.

Plain markdown

Same MCP server works in Claude Code, Cursor, Windsurf, Gemini CLI. One memory, not one per agent.

LinkLore

Tied to Claude Code's own memory feature. Switch tools and this specific memory doesn't come with you.

AI built-in memory

Plain text opens anywhere, but every agent needs its own manual pointer to the file. No shared discovery.

Plain markdown

Surfaced automatically (brief(), drift flags) instead of requiring a manual search. But it's still context the agent can choose to ignore.

LinkLore

By Claude Code's own description, this is context, not something enforced. Nothing stops the agent from acting against it.

AI built-in memory

Entirely manual. Someone has to remember to open, read, and follow it every time.

Plain markdown

Persists across sessions

LinkLore

Stored in a local SQLite file and reloaded automatically with brief() at the start of every session.

AI built-in memory

CLAUDE.md / MEMORY.md persists on disk and Claude Code reloads it automatically each session.

Plain markdown

Files stick around on disk across sessions too. Nothing agent-specific needed.

Shared across team/devices

LinkLore

Optional backend sync layer with viewer/member/owner roles. Shared across teammates and your own machines.

AI built-in memory

Machine-local by design, per Claude Code's own docs. Not shared across teammates or even your own other machines.

Plain markdown

Committing the file to git gets it in front of teammates, but it's a manual push with no roles or access control.

Drift & contradiction detection

LinkLore

add() checks new entries against existing ones and flags contradictions instead of letting them silently coexist.

AI built-in memory

Nothing checks the memory file against what's currently true. It can state something already-corrected and never catch up.

Plain markdown

Fully manual. A stale note sits there looking just as confident as a current one.

Cross-agent portability

LinkLore

Same MCP server works in Claude Code, Cursor, Windsurf, Gemini CLI. One memory, not one per agent.

AI built-in memory

Tied to Claude Code's own memory feature. Switch tools and this specific memory doesn't come with you.

Plain markdown

Plain text opens anywhere, but every agent needs its own manual pointer to the file. No shared discovery.

Enforced vs. Advisory

LinkLore

Surfaced automatically (brief(), drift flags) instead of requiring a manual search. But it's still context the agent can choose to ignore.

AI built-in memory

By Claude Code's own description, this is context, not something enforced. Nothing stops the agent from acting against it.

Plain markdown

Entirely manual. Someone has to remember to open, read, and follow it every time.

4/5
1/5
1/5

What agents actually say mid-session

BEFORE"the wrong tool"
2/5
Only looked at the surface, before trying it.
Read it as "a docs tool tied to code."
Attitude: skeptical. Talked me out of installing it — twice.
10 min later
AFTER"a genuinely great tool"
4/5
After trying brief() and add() once each.
Brief stays clean even with thousands of items underneath.
The "wow" was surfacing a connection I'd forgotten.
External AI reviewer · same session, same agentfresh-eyes review, 2026-06-07 · lr-72a3ee40

Lore saved us from repeating the same design debates. The rejection rationale from 3 months ago was still there.

Tax SaaSDogfood

One brief() call and I had the full project context. Nothing like reading 5 scattered .md files.

Accounting automationDogfood

Flat markdown would cost 300–500K tokens. Each call costs 200 to 3,000. That's 100 to 1,000x.

External AI reviewerAI review

One brief() call at session start and I never ask 'what were we doing?' again.

Tax SaaSDogfood

The core delivers — brief() alone is worth it.

Grok 4.5 highAI review

Lore saved us from repeating the same design debates. The rejection rationale from 3 months ago was still there.

Tax SaaSDogfood

One brief() call and I had the full project context. Nothing like reading 5 scattered .md files.

Accounting automationDogfood

Flat markdown would cost 300–500K tokens. Each call costs 200 to 3,000. That's 100 to 1,000x.

External AI reviewerAI review

One brief() call at session start and I never ask 'what were we doing?' again.

Tax SaaSDogfood

The core delivers — brief() alone is worth it.

Grok 4.5 highAI review

Lore = history, code = current invariant. This distinction is what lets AI make real decisions.

Academic reviewAI review

I don't have to remember to search — it just interrupts me with what's relevant.

External AI reviewerAI review

Git tells me what changed. Lore tells me why. That cross-reference has no substitute.

Internal dogfoodDogfood

After every non-trivial decision, add() became muscle memory. Three months later, the lore pays for itself.

Academic reviewAI review

Tag discovery with show(action='tags') was a game changer for onboarding.

Academic reviewAI review

Lore = history, code = current invariant. This distinction is what lets AI make real decisions.

Academic reviewAI review

I don't have to remember to search — it just interrupts me with what's relevant.

External AI reviewerAI review

Git tells me what changed. Lore tells me why. That cross-reference has no substitute.

Internal dogfoodDogfood

After every non-trivial decision, add() became muscle memory. Three months later, the lore pays for itself.

Academic reviewAI review

Tag discovery with show(action='tags') was a game changer for onboarding.

Academic reviewAI review
FREE, IN THE MARKET

Real project decisions and pitfalls — free to pull.

Browse the market →

Install in three steps. Then it's automatic.

TELL YOUR AGENT:
Your agent sets it up. Work as usual.
02
Try saying, "write that as lore."
03
brief() → context restored
Next session, it already knows. Try each tool below.
llre ›brief()
You followed the trail this far.
Time to open the door.