Persistent memory for Claude Code, Cursor & Copilot

Your project's decisions, context and tasks, shared by every AI tool and every teammate, and flagged when the code moves on.

Claude already remembers you. It doesn't remember your project, and it never reaches Cursor or your team. Here's the difference

Save to ContextForge: no automatic retries on the payment webhook, they double-charged customers. This webhook fails sometimes. Should I add a retry? No. Your project memory says retries on this webhook double-charged customers.

ContextForgeacme-api · 0 memoriessaved
DecisionNo automatic retries on the payment webhook.Why: retries double-charged customers.↳ src/payments/webhook.ts
+ ingestedClaude Code
→ queriedCursor
! flaggedwebhook.ts changed
✓ correctedCursor

Each tool remembers only itself

Claude, Cursor and Copilot each keep some memory now, but it stays inside that one tool and that one account.

1 memory

Claude Code

memoryNo automatic retries on the payment webhook.Why: retries double-charged customers.

This decision stays here.

0 memories

Cursor

memoryempty

› Should I add a retry?

Yes, I'll add a retry.

This double-charges customers.

0 memories

GitHub Copilot

memoryempty

› Should I add a retry?

Yes, adding retries now.

This double-charges customers.

ContextForge keeps one memory for every tool and teammate. See how it works

One memory. Every tool.

Connect the tools you already use. They all read and write the same project memory.

What your agents can do with it

Plain tools your agent calls on its own.

memory_query01

Finds it by meaning.

Ask in plain language, without exact keywords or tags.

query
how do we handle payment failures?
1 match · DecisionNo automatic retries on the payment webhook.↳ src/payments/webhook.ts
memory_check_freshness02

Knows when a memory went stale.

If the code a memory points to changes, the memory gets flagged before an agent trusts it.

src/payments/webhook.ts changed
Decisionmay be outdated
No automatic retries on the payment webhook.↳ src/payments/webhook.ts
memory_git_commits03

Remembers what shipped.

Commits from your connected repos sit next to your notes, so an agent answering today knows what shipped yesterday.

main
a41c9e2 Add idempotency key to payment webhookyesterday · PR #214
3f9b21c Stop automatic retries on payment webhook3 weeks ago · PR #187
session_list04

See what else is running.

Check which other Claude Code sessions are live before a big change.

tasks_list05

Keeps the to-do list.

Tasks stay with the project, not in one chat.

memory_ingest06

Saves the why.

Decisions keep their reason, so the next agent does not undo them.

Also included
Spaces
Separate memory per repo, service or team.
Snapshots
Point-in-time copies you can restore or diff.
Team
Shared spaces with per-member roles.
Import / Export
Move memory in and out as JSON or Markdown.
API keys
Scoped keys for CI and your own scripts.

Tutorials

See how it works

Short walkthroughs of the features people ask about most. Watch the video or skim the article.

Simple pricing

Per month. Cancel any time.

Free

For personal projects

$0/ forever
Get started free
  • 1 project
  • 3 spaces
  • 200 documents
  • 500 semantic queries/mo
  • 50 MB storage
  • Import / Export

Pro

Recommended

For developers working across several repos

$9/ month
Start free trial
  • 25 projects
  • Unlimited spaces
  • 5,000 documents
  • 15,000 semantic queries/mo
  • 1 GB storage
  • Git integration
  • 50 snapshots
  • 5 collaborators
  • 14-day free trial

Premium

For teams sharing memory across projects

$29/ month
Start free trial
  • Unlimited projects and spaces
  • 10,000 documents
  • 20,000 semantic queries/mo
  • 2 GB storage
  • Unlimited snapshots and collaborators
  • 14-day free trial

Give your AI tools a memory that outlasts the session.