MIT · local-only · Claude Code plugin · Node ≥ 22.16

Claude Code
that remembers.

Cross-project graph memory for Claude Code. Full-text search, temporal validity, private scoping. No embeddings, no API calls, no cloud.

The problem

Context evaporates.

Claude Code is stateless across sessions. Every new conversation starts from zero, even if you've explained the same architectural constraints a dozen times.

Repeated context

Pasting the same system prompt across sessions is error-prone, wastes tokens, and still misses project-specific nuance.

Lost decisions

Architectural choices made last month aren't visible to Claude in a new session. The rationale disappears with the chat.

No cross-project knowledge

Lessons learned in one codebase (API quirks, team conventions, known gotchas) never transfer to sibling projects.

Features

Designed for persistent context.

Cross-project graph

Facts save as observations on canonical nodes, connected by typed edges. The graph persists across every Claude Code session and project in one local SQLite store.

Temporal validity

Every fact records when it became valid. Stale facts are explicitly invalidated or superseded by a newer one. No silent auto-expiry, and history stays inspectable.

Full-text search

SQLite FTS5 with BM25 ranking retrieves exactly the facts Claude needs, with optional one-hop graph expansion to surface linked context.

Auto-injection

SessionStart and PostCompact hooks inject the most relevant facts automatically. No manual command, zero configuration.

Private scoping

Facts scope to global, project, or private. The project ID is derived automatically from your working directory. Nothing to register or configure.

Local-only storage

One SQLite file at ~/.claude/orchestra-memory/graph.db, with daily rotating backups (last 7 days kept). No embeddings, no API calls, no telemetry.

How it works

Four steps to persistent memory.

01

Install

Install the plugin from the Claude Code marketplace. Hooks and the bundled MCP server activate automatically—no init step, no configuration.

02

Write

Just tell Claude what to remember. It calls memory_save (or the wisdom_add wrapper) itself to distill the fact and store it as an observation.

03

Connect

Claude uses memory_link to connect facts with typed, free-form relations. Saving a correction can supersede the outdated fact instead of duplicating it.

04

Query

A SessionStart hook injects the most relevant facts when a session begins. Claude can also call memory_search (FTS5/BM25) or memory_traverse on demand.

Comparison

How it stacks up.

Featureorchestra-memoryRaw CLAUDE.mdCloud vector DB
Cross-project memory
Temporal validity
Full-text search
Local / offline
Zero API keys
Graph relationships
MIT license

✓ = full support  ·  – = partial  ·  ✗ = not available

Ecosystem

Part of the Orchestra suite.

Two open-source Claude Code plugins designed to work together. Run either one standalone, or install both for automatic cross-session wisdom.

this plugin

orchestra-memory

Cross-project graph memory

orchestra

Multi-agent orchestration · 8 agents

Install

A few commands to get started.

No accounts, no configuration files, no API keys.

1. Register the marketplace
$ claude plugin marketplace add josefkrajkar/cc-orchestra
2. Install & verify
$ claude plugin install orchestra-memory@orchestra
$ claude plugin list

Node.js ≥ 22.16 is required. orchestra-memory uses the built-in node:sqlite module, which requires Node 22.16 or later — no extra database driver needed. After install, nothing else is required: hooks and the bundled MCP server activate automatically.

FAQ

Common questions.