npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

claude-recall

v0.8.22

Published

Persistent memory for Claude Code with fire-and-forget PubNub architecture, automatic capture, failure learning, and project scoping via MCP server

Readme

Claude Recall

Persistent, local memory for Claude Code — powered by realtime event orchestration.

Claude Recall is a local memory engine + MCP server that gives Claude Code something it's missing by default: the ability to learn from you over time.

Your preferences, project structure, workflows, corrections, and coding style are captured automatically and applied in future sessions — securely stored on your machine.

TL;DR Claude Recall stores and searches your past preferences and project knowledge. Install it → restart Claude Code → Claude automatically uses memory before writing or editing files.


🚀 Features

🌱 Continuous Learning (Local SQLite)

Claude learns your:

  • coding patterns
  • tool preferences
  • corrections
  • architectural decisions
  • workflow habits

Everything stays local.


⚡ Realtime Memory Intelligence (PubNub Event Bus)

Claude Recall uses a lightweight, metadata-only PubNub layer to provide instant, asynchronous memory intelligence.

What PubNub enables

  • Hooks become <10ms Instead of slow, blocking MCP or CLI calls (50–500ms), hooks now publish a tiny packet and return instantly.

  • The Memory Agent works in the background The Agent subscribes to PubNub channels, processes events in real time, updates memory, and sends suggestions back to Claude without slowing anything down.

  • Claude stays fast and responsive Even under heavy editing or repeated tool runs.

Why only Write/Edit, not Search?

  • Write/Edit (capture) → async via PubNub Hooks fire metadata and return instantly. Memory Agent processes in background. Non-blocking.

  • Search (retrieval) → sync via MCP Claude needs results immediately to inform its response. Must be synchronous. No benefit to PubNub here.

The pattern: capture async, retrieve sync.

What PubNub actually carries (metadata-only)

  • tool name
  • file path
  • event type
  • prompt token counts (no text)
  • memory suggestion IDs
  • Agent heartbeat

What PubNub does not carry

🚫 code 🚫 conversation text 🚫 file contents 🚫 memory content 🚫 embeddings 🚫 prompts 🚫 anything sensitive

PubNub is not storage — it is a realtime coordination channel.


💬 Why use PubNub at all?

Developers often ask this. Here's the clear answer:

Persistent memory doesn't require PubNub

The core idea (Claude remembering preferences and project knowledge) could be implemented with:

  • direct MCP calls
  • local HTTP server
  • sockets / pipes
  • a local queue
  • synchronous CLI calls

But PubNub gives a dramatically better UX

Without PubNub:

  • hooks block while waiting for the Memory Agent to finish
  • every file write/edit stalls Claude
  • the editor feels sluggish
  • memory suggestions arrive too late to help
  • cross-platform performance varies wildly

With PubNub:

  • hooks return in 6–10ms
  • memory is processed asynchronously
  • Claude gets suggestions in real time
  • no need to bundle/maintain a local broker
  • works the same on macOS, Windows, Linux, WSL

Local-first design is preserved

PubNub only transmits metadata — no user content ever leaves your machine.

Implementation detail, not a hard dependency

In the future the event bus can be swapped (local-only transport, WebSockets, NATS, etc.). PubNub is simply the fastest path to a great developer experience today.


📂 Project-Scoped Knowledge

Each project gets its own memory namespace:

  • architecture
  • tech stack
  • conventions
  • past decisions
  • known pitfalls
  • previous fixes
  • preferences unique to that codebase

Switch projects → Claude switches memory.


🔌 Zero Cloud Storage

  • All memory stored locally in SQLite
  • No cloud sync
  • No telemetry
  • PubNub carries ephemeral metadata only
  • Entire system works offline (except realtime coordination)

💻 Claude Code–Native Integration

Claude Recall integrates tightly via:

  • MCP server (search, store, evolve)
  • pre-action hooks
  • planning hooks
  • post-action hooks
  • PubNub event subscriber (Memory Agent)

Claude automatically searches memory before writing or editing files.


⚡ Quick Start

Requirements

| Component | Version | Notes | | --------- | ----------------------- | ------------------------------ | | Node.js | 20+ | required for better-sqlite3 | | Python | 3.x | required for Claude Code hooks | | PubNub | included via npm | metadata only | | OS | macOS / Linux / Windows | WSL supported |


Install (per project)

cd your-project
npm install claude-recall

# Check installed version:
npx claude-recall --version

# Show activation instructions:
npx claude-recall setup

Upgrade (existing users)

npm doesn't run postinstall on version upgrades, so hooks/skills won't update automatically.

# Option 1: Uninstall and reinstall (recommended)
npm uninstall claude-recall && npm install claude-recall@latest

# Option 2: Manually install hooks/skills after upgrade
npm install claude-recall@latest
npx claude-recall setup --install

Activate

# Add to your MCP config (if not already):
claude mcp add claude-recall -- npx -y claude-recall@latest mcp start

# Already registered? Remove and re-add:
claude mcp remove claude-recall
claude mcp add claude-recall -- npx -y claude-recall@latest mcp start

# Then restart your terminal or session

Stop old instance

If an old MCP server is already running:

npx -y claude-recall@latest mcp stop

Then restart your session - it will automatically start the latest version.


Verify it's working

In Claude Code:

"Search my memories."

Claude should call:

mcp__claude-recall__search

If results appear → You're ready.


🧠 How It Works (High-Level)

Claude Recall consists of:

1. Local Memory Engine (SQLite)

Stores and evolves preferences, patterns, decisions, corrections.

2. Realtime Event Bus (PubNub)

Makes hooks fast and enables the Memory Agent to work asynchronously.

3. Memory Agent

Subscribes to PubNub, updates memory, sends suggestions to Claude.

4. Claude Code Hooks

Inject memory pre-action, perform structured planning, capture post-action learnings.


🔐 Security & Privacy

Claude Recall is built for local-first workflows:

  • SQLite memory never leaves your machine
  • PubNub sends metadata only
  • No storage of PubNub messages
  • No prompts, code, or memory content is transmitted
  • Full transparency via CLI (list, inspect, export)

Full details in /docs/security.md.


📚 Full Documentation

All docs in /docs:

  • Installation
  • Quickstart
  • Architecture
  • Learning Loop
  • Memory Types
  • CLI Reference
  • Hooks
  • Project Scoping
  • Troubleshooting
  • Security
  • FAQ

🛠 Development & Contributions

PRs welcome — Claude Recall is open to contributors.


📝 License

MIT.