[TERMINAL · SKILLS]
> mounting /skills...
> indexing 295 manifests...
> linking agents: claude · codex · gemini · cursor
> ready.
[░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0%
Terminal.skills
Skills/claude-mem
>

claude-mem

Add persistent memory to Claude Code that survives across sessions. Use when: maintaining continuity across Claude Code sessions, building agents with persistent project memory, avoiding repeated context setup. Covers claude-mem (AI-compressed session logs) and Claude Subconscious (Letta-based background agent).

#claude-code#memory#persistence#context#session
terminal-skillsv2.0.0
Works with:claude-codeopenai-codexgemini-clicursor
Source
Trust Score
87/ 100
5.00×
Impact

Validation

Quality
87/ 100
Does it follow best practices?
4 PASS · 2 WEAK
Security
Passed
No known issues
Content review + injection scan
Impact
5.00×
0% → 50% agent success
Avg across 2 eval scenarios
Scored 5/13/2026 · skill v2.0.0
$
✓ Installed claude-mem v2.0.0

Getting Started

  1. Install the skill using the command above
  2. Open your AI coding agent (Claude Code, Codex, Gemini CLI, or Cursor)
  3. Reference the skill in your prompt
  4. The AI will use the skill's capabilities automatically

Example Prompts

  • "Transform these meeting notes into action items with owners and deadlines"
  • "Draft a follow-up email to the client summarizing our discussion"

Documentation

Overview

Claude Code forgets everything between sessions. Two open-source tools solve this by automatically capturing context and injecting it into future sessions:

  • claude-mem — captures session activity, compresses it with AI, injects relevant memories on next session. Lightweight, local-first.
  • Claude Subconscious — a background Letta agent that watches sessions, builds up memory over time, and whispers guidance back. Cloud or self-hosted.

Both eliminate the need to re-explain context when returning to a project.

Instructions

Option A: claude-mem (Local AI Compression)

GitHub: thedotmack/claude-mem

Setup

bash
npm install -g claude-mem
cd your-project
claude-mem init
claude-mem setup-hooks

This creates .claude-mem/ with config, compressed memories, and an index. Hooks auto-capture after each session and auto-inject before the next.

How It Works

  1. Capture — hooks into Claude Code session, records interactions
  2. Compress — AI summarizes session into structured memory (decisions, code changes, learnings)
  3. Store — compressed memories saved to .claude-mem/ directory
  4. Retrieve — on new session, relevant memories injected into context

Commands

bash
claude-mem capture                     # Capture current session
claude-mem inject                      # Inject memories into context
claude-mem search "auth flow"          # Semantic search through memories
claude-mem list                        # List all memories
claude-mem stats                       # Show memory stats
claude-mem compress                    # Reduce storage for old memories

Configuration

json
{
  "compression": {
    "model": "claude-sonnet-4-20250514",
    "strategy": "smart"
  },
  "inject": {
    "maxMemories": 10,
    "relevanceThreshold": 0.7,
    "strategy": "semantic"
  }
}

Strategies: smart (AI picks what's important), full (captures everything), minimal (only decisions and errors).

Option B: Claude Subconscious (Letta Background Agent)

GitHub: letta-ai/claude-subconscious

Setup

bash
/plugin marketplace add letta-ai/claude-subconscious
/plugin install claude-subconscious@claude-subconscious
export LETTA_API_KEY="your-api-key"

Get your API key from app.letta.com. Or self-host:

bash
pip install letta
letta server --port 8283
export LETTA_BASE_URL="http://localhost:8283"

Modes

ModeBehaviorToken Cost
whisper (default)Short guidance before each promptLow
fullFull memory blocks + message historyHigher
offDisabledNone

Which to Choose

claude-memClaude Subconscious
StorageLocal files (.claude-mem/)Letta cloud or self-hosted
CostUses your Claude API for compressionRequires Letta API key (free tier)
LatencyNear-zero (local)~1-2s per whisper
Memory styleCompressed session summariesContinuous learning agent
Best forLocal-first, privacy-sensitiveRich cross-session context

Examples

Example 1: Session Continuity with claude-mem

bash
# Session 1: Work on auth module
$ claude-mem stats
Memories: 12 | Storage: 45KB | Last capture: 2 hours ago

# Session 2: Return to project — auto-injected context
# Claude already knows: "You implemented JWT auth with RS256, refresh tokens in Redis"

Example 2: Architecture Recall with Subconscious

After discussing a REST-to-GraphQL migration, you start a new session:

[subconscious] Last session you decided to switch from REST to GraphQL for the
user service. Migration is 60% done — resolvers for User and Project are complete,
Order and Payment still need conversion. You preferred code-first schema with TypeGraphQL.

Guidelines

  • Pair with CLAUDE.md — use CLAUDE.md for static project context, persistent memory for dynamic decisions
  • One tool per project — don't run both claude-mem and Subconscious simultaneously
  • For claude-mem: set relevanceThreshold higher (0.8+) if too much context is injected
  • For Subconscious: whisper mode gives 90% of the value at lower token cost
  • Add .claude-mem/memories/ to .gitignore for private projects
  • Memory quality depends on session length — short sessions produce less useful memories

Information

Version
2.0.0
Author
terminal-skills
Category
Productivity
License
Apache-2.0