Using Basic Memory with Built-in AI Memory
Your AI tools already have built-in memory features. Basic Memory doesn't replace them — it works alongside them. This page explains what each system is good at and how to use them together effectively.
For a broader comparison of Basic Memory with all the alternatives — including Obsidian, database-only memory services, and more — see Why Basic Memory.
What each tool offers
Claude Code has two built-in systems:
- CLAUDE.md files — Instructions you write for how Claude should work in a project. Coding standards, build commands, architectural conventions.
- Auto memory — Notes Claude writes itself when it notices patterns or preferences. Stored in
~/.claude/projects/as markdown files. The first 200 lines ofMEMORY.mdload into every session.
ChatGPT has two memory systems:
- Saved memories — Facts you tell it to remember ("I'm vegetarian," "I live in San Francisco"). These persist until you delete them. ChatGPT may also save details on its own if they seem useful.
- Reference chat history — ChatGPT can look back at past conversations to pick up preferences and context. Unlike saved memories, these details change over time as ChatGPT decides what's most relevant.
Cursor has a "Memories" feature for storing brief preference strings and rules.
Basic Memory is a full knowledge base with structured notes, semantic search, a knowledge graph, and schemas. It works across all of these tools through MCP.
How they work together
The best setup uses both. Here's how they complement each other:
| Built-in memory | Basic Memory | |
|---|---|---|
| Best for | Quick preferences, tool-specific rules | Structured knowledge, decisions, research |
| Scope | One AI tool | Every AI tool you use |
| Format | Short text / instructions | Full markdown notes with semantic structure |
| Search | None | Semantic, text, metadata, and tag search |
| Connections | None | Knowledge graph with typed relations |
| Portability | Locked to one tool | Plain files, works everywhere |
| Setup | Automatic | One-time MCP connection |
In practice
Claude Code: Use CLAUDE.md for project instructions ("use 2-space indentation," "run tests before committing"). Use auto memory for small learnings Claude picks up. Use Basic Memory for everything deeper — architecture decisions, API design notes, research, meeting summaries, project context that you want searchable and linked.
ChatGPT: Let ChatGPT's saved memories and chat history handle personal preferences — "I'm vegetarian," "I live in San Francisco." Use Basic Memory for structured knowledge — project documentation, decision records, research notes — especially anything you also need in your IDE or other AI tools.
Cursor: Use Cursor's built-in memories for quick rules. Use Basic Memory for the project knowledge that should survive across tools and sessions.
A concrete example
Say you're designing an authentication system. Here's what goes where:
Built-in memory stores:
- "We use TypeScript with strict mode"
- "Preferred test framework: vitest"
- "Always use 2-space indentation"
Basic Memory stores:
---
title: Authentication Design Decision
type: decision
tags: [auth, security, api]
---
# Authentication Design Decision
## Observations
- [decision] Using JWT with refresh tokens for stateless auth
- [rationale] Chose JWT over sessions for horizontal scaling
- [constraint] Refresh tokens rotate on each use
- [risk] Token revocation requires a blacklist check
## Relations
- implements [[API Security Requirements]]
- depends_on [[User Database Schema]]
- informs [[Rate Limiting Strategy]]
The built-in memory tells the AI how you like to work. Basic Memory tells the AI what you know and what you've decided. Both make the AI more useful, in different ways.
Getting started
If you're already using an AI tool with built-in memory, adding Basic Memory takes a few minutes:

