Files
claude-mem/cursor-hooks/STANDALONE-SETUP.md
T

7.4 KiB

Claude-Mem for Cursor (No Claude Code Required)

Persistent AI Memory for Cursor - Zero Cost to Start

Overview

Use claude-mem's persistent memory in Cursor without a Claude Code subscription. Choose between free-tier providers (Gemini, OpenRouter) or paid options.

What You Get:

  • Persistent memory that survives across sessions - your AI remembers what it worked on
  • Automatic capture of MCP tools, shell commands, and file edits
  • Context injection via .cursor/rules/ - relevant history included in every chat
  • Web viewer at http://localhost:37777 - browse and search your project history

Why This Matters: Every Cursor session starts fresh. Claude-mem bridges that gap - your AI agent builds cumulative knowledge about your codebase, decisions, and patterns over time.

Prerequisites

macOS / Linux

  • Cursor IDE
  • Bun (curl -fsSL https://bun.sh/install | bash)
  • Git
  • jq and curl:
    • macOS: brew install jq curl
    • Linux: apt install jq curl

Windows

  • Cursor IDE
  • Bun (PowerShell: powershell -c "irm bun.sh/install.ps1 | iex")
  • Git
  • PowerShell 5.1+ (included with Windows 10/11)

Step 1: Clone Claude-Mem

# Clone the repository
git clone https://github.com/thedotmack/claude-mem.git
cd claude-mem

# Install dependencies
bun install

# Build the project
bun run build

Step 2: Configure Provider (Choose One)

Since you don't have Claude Code, you need to configure an AI provider for claude-mem's summarization engine.

Gemini offers 1500 free requests per day, plenty for typical usage.

# Create settings directory
mkdir -p ~/.claude-mem

# Create settings file
cat > ~/.claude-mem/settings.json << 'EOF'
{
  "CLAUDE_MEM_PROVIDER": "gemini",
  "CLAUDE_MEM_GEMINI_API_KEY": "YOUR_GEMINI_API_KEY",
  "CLAUDE_MEM_GEMINI_MODEL": "gemini-2.5-flash-lite",
  "CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED": true
}
EOF

Get your free API key: https://aistudio.google.com/apikey

Option B: OpenRouter (100+ Models)

OpenRouter provides access to many models, including free options.

mkdir -p ~/.claude-mem
cat > ~/.claude-mem/settings.json << 'EOF'
{
  "CLAUDE_MEM_PROVIDER": "openrouter",
  "CLAUDE_MEM_OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY"
}
EOF

Get your API key: https://openrouter.ai/keys

Free models available:

  • google/gemini-2.0-flash-exp:free
  • xiaomi/mimo-v2-flash:free

Option C: Claude API (If You Have API Access)

If you have Anthropic API credits but not a Claude Code subscription:

mkdir -p ~/.claude-mem
cat > ~/.claude-mem/settings.json << 'EOF'
{
  "CLAUDE_MEM_PROVIDER": "claude",
  "ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY"
}
EOF

Step 3: Install Cursor Hooks

# From the claude-mem repo directory (recommended - all projects)
bun run cursor:install -- user

# Or for project-level only:
bun run cursor:install

This installs:

  • Hook scripts to .cursor/hooks/
  • Hook configuration to .cursor/hooks.json
  • Context template to .cursor/rules/

Step 4: Start the Worker

bun run worker:start

The worker runs in the background and handles:

  • Session management
  • Observation processing
  • AI-powered summarization
  • Context file updates

Step 5: Restart Cursor & Verify

  1. Restart Cursor IDE to load the new hooks

  2. Check installation status:

    bun run cursor:status
    
  3. Verify the worker is running:

    curl http://127.0.0.1:37777/api/readiness
    

    Should return: {"status":"ready"}

  4. Open the web viewer: http://localhost:37777

How It Works

  1. Before each prompt: Hooks initialize a session and ensure the worker is running
  2. During agent work: MCP tools, shell commands, and file edits are captured
  3. When agent stops: Summary is generated and context file is updated
  4. Next session: Fresh context is automatically injected via .cursor/rules/

Troubleshooting

"No provider configured" error

Verify your settings file exists and has valid credentials:

cat ~/.claude-mem/settings.json

Worker not starting

Check logs:

tail -f ~/.claude-mem/logs/worker-$(date +%Y-%m-%d).log

Hooks not executing

  1. Check Cursor Settings → Hooks tab for errors
  2. Verify scripts are executable:
    chmod +x ~/.cursor/hooks/*.sh
    
  3. Check the Hooks output channel in Cursor

Rate limiting (Gemini free tier)

If you hit the 1500 requests/day limit:

  • Wait until the next day
  • Upgrade to a paid plan
  • Switch to OpenRouter with a paid model

Next Steps

Quick Reference

Command Purpose
bun run cursor:install -- user Install hooks for all projects (recommended)
bun run cursor:install Install hooks for current project only
bun run cursor:status Check installation status
bun run worker:start Start the background worker
bun run worker:stop Stop the background worker
bun run worker:restart Restart the worker

Windows Installation

Windows users get full support via PowerShell scripts. The installer automatically detects Windows and installs the appropriate scripts.

Enable Script Execution (if needed)

PowerShell may require you to enable script execution:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Step-by-Step for Windows

# Clone and build
git clone https://github.com/thedotmack/claude-mem.git
cd claude-mem
bun install
bun run build

# Configure provider (Gemini example)
$settingsDir = "$env:USERPROFILE\.claude-mem"
New-Item -ItemType Directory -Force -Path $settingsDir

@"
{
  "CLAUDE_MEM_PROVIDER": "gemini",
  "CLAUDE_MEM_GEMINI_API_KEY": "YOUR_GEMINI_API_KEY"
}
"@ | Out-File -FilePath "$settingsDir\settings.json" -Encoding UTF8

# Interactive setup (recommended - walks you through everything)
bun run cursor:setup

# Or manual installation
bun run cursor:install
bun run worker:start

What Gets Installed on Windows

The installer copies these PowerShell scripts to .cursor\hooks\:

Script Purpose
common.ps1 Shared utilities
session-init.ps1 Initialize session on prompt
context-inject.ps1 Inject memory context
save-observation.ps1 Capture MCP/shell usage
save-file-edit.ps1 Capture file edits
session-summary.ps1 Generate summary on stop

The hooks.json file is configured to invoke PowerShell with -ExecutionPolicy Bypass to ensure scripts run without additional configuration.

Windows Troubleshooting

"Execution of scripts is disabled on this system"

Run as Administrator:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

PowerShell scripts not running

Verify the hooks.json contains PowerShell invocations:

Get-Content .cursor\hooks.json

Should show commands like:

powershell.exe -ExecutionPolicy Bypass -File "./.cursor/hooks/session-init.ps1"

Worker not responding

Check if port 37777 is in use:

Get-NetTCPConnection -LocalPort 37777

Antivirus blocking scripts

Some antivirus software may block PowerShell scripts. Add an exception for the .cursor\hooks\ directory if needed.