Long-term memory for Claude Code - automatic, intelligent, zero-configuration
ClaudeMemory gives Claude Code a persistent memory across all your conversations. It automatically:
- ✅ Extracts durable facts from conversations (tech stack, preferences, decisions)
- ✅ Remembers project-specific and global knowledge
- ✅ Provides instant recall without manual prompting
- ✅ Maintains truth (handles conflicts, supersession)
No API keys. No configuration. Just works.
gem install claude_memoryFrom within Claude Code, add the marketplace and install the plugin:
# Add the marketplace (one-time setup)
/plugin marketplace add codenamev/claude_memory
# Install the plugin
/plugin install claude-memoryRun the analyze command to bootstrap memory with your project's tech stack:
/claude-memory:analyze
This reads your project files (Gemfile, package.json, etc.) and stores facts about languages, frameworks, tools, and conventions.
claude-memory doctorJust talk naturally! Memory happens automatically.
You: "I'm building a Rails app with PostgreSQL, deploying to Heroku"
Claude: [helps with setup]
# Behind the scenes:
# - Session transcript ingested
# - Facts extracted automatically
# - No user action needed
Later:
You: "Help me add a background job"
Claude: "Based on my memory, you're using Rails with PostgreSQL..."
👉 See Getting Started Guide → 👉 View Example Conversations →
- You chat with Claude - Tell it about your project
- Facts are extracted - Claude identifies durable knowledge
- Memory persists - Stored locally in SQLite
- Automatic recall - Claude remembers in future conversations
- Dual Scope: Project-specific + global user preferences
- Privacy First:
<private>tags exclude sensitive data - Progressive Disclosure: Lightweight queries before full details
- Semantic Shortcuts: Quick access to decisions, conventions, architecture
- Truth Maintenance: Automatic conflict resolution
- Claude-Powered: Uses Claude's intelligence to extract facts (no API key needed)
- Token Efficient: 10x reduction in memory queries with progressive disclosure
Exclude sensitive data from memory using privacy tags:
You: "My API key is <private>sk-abc123</private>"
Claude: [uses it during session]
# Stored: "API endpoint configured with key"
# NOT stored: "sk-abc123"
Supported tags: <private>, <no-memory>, <secret>
- 📖 Getting Started - Step-by-step onboarding (coming soon)
- 💡 Examples - Use cases and workflows
- 🔧 Plugin Setup - Claude Code integration
- 🏗️ Architecture - Technical deep dive
- 📝 Changelog - Release notes
- Language: Ruby 3.2+
- Storage: SQLite3 (no external services)
- Testing: 583 examples, 100% core coverage
- Code Style: Standard Ruby
git clone https://github.com/codenamev/claude_memory
cd claude_memory
bin/setup
bundle exec rspecMIT - see LICENSE.txt
Made with ❤️ by Valentino Stoll