Cross-surface persistent memory for Claude sessions. Vault conversations from Code, Cowork, and Chat -- recall decisions, artifacts, and context in any future session.
$git clone https://github.com/labyrinth-analytics/loreconvoInstalls into the current project.
Install loreconvo by running `git clone https://github.com/labyrinth-analytics/loreconvo`, then use it for the current task and follow its documentation at https://github.com/labyrinth-analytics/loreconvo.
| 1 | # LoreConvo v0.8.5 |
| 2 | |
| 3 | Your memory follows your identity, not your tool — with your consent. |
| 4 | |
| 5 | LoreConvo is the only AI memory that carries your context across Claude Code, Codex, Cursor, and Hermes Agent. One install, one memory, everywhere you code. |
| 6 | |
| 7 | > **Available on the Anthropic Marketplace.** Install directly from Claude, or via PyPI: `uvx loreconvo` |
| 8 | |
| 9 | ## Why LoreConvo? |
| 10 | |
| 11 | ### Works wherever you work |
| 12 | |
| 13 | LoreConvo works across Claude Code, Cursor, Codex, and Hermes -- the same memory |
| 14 | layer, no matter which client you reach for. When you switch mid-project, your |
| 15 | context travels with you automatically. |
| 16 | |
| 17 | Most tools wall off memory by machine or workspace. LoreConvo stores everything |
| 18 | locally in a SQLite database you own, and surfaces it wherever you are. You decide |
| 19 | what gets saved; nothing is written without your action. |
| 20 | |
| 21 | ### You control what gets saved |
| 22 | |
| 23 | Competing tools auto-write to memory without asking. LoreConvo puts you in control: you decide what's worth keeping, and you can delete any memory at any time. |
| 24 | |
| 25 | Every memory shows you exactly where it came from — which surface captured it, when, what project context it belongs to, and which skill generated it. No mystery. Full provenance. |
| 26 | |
| 27 | ### Your memory stays on your machine |
| 28 | |
| 29 | LoreConvo stores everything in a SQLite database on your own machine. No data leaves your computer. No cloud accounts. No vendor with access to your session history. |
| 30 | |
| 31 | Your sessions live in `~/.loreconvo/sessions.db` -- a file you own, can back up, and can delete whenever you want. |
| 32 | |
| 33 | ### Structured memory, not raw transcripts |
| 34 | |
| 35 | LoreConvo captures two types of memory for each session: |
| 36 | |
| 37 | - **Episodic memory:** what happened -- summaries, artifacts created, open questions left behind |
| 38 | - **Semantic memory:** what was decided -- stable conclusions about the project that persist across sessions |
| 39 | |
| 40 | Together these give Claude a structured, searchable record of your project's history, not just a pile of chat transcripts. |
| 41 | |
| 42 | ## Recall Benchmark |
| 43 | |
| 44 | LoreConvo's FTS5 search is benchmarked against a 60-session synthetic corpus (6 topic areas, 36 labeled queries). |
| 45 | |
| 46 | | Variant | Recall@5 | MRR | |
| 47 | |---------|----------|-----| |
| 48 | | FTS5 + compound token expansion (default) | **88.9%** | **0.875** | |
| 49 | | FTS5 baseline (no expansion) | 72.2% | 0.708 | |
| 50 | |
| 51 | Compound token expansion (camelCase / snake_case query preprocessing) lifts Recall@5 by **+35.7 pp** on queries using technical identifiers like `autoSave`, `pipeline_tracker`, and `get_context_for`. |
| 52 | |
| 53 | [Full benchmark report](docs/agent-reports/benchmarks/loreconvo_recall_benchmark_20260522.md) | |
| 54 | [Reproduce](scripts/run_loreconvo_recall_benchmark.py) |
| 55 | |
| 56 | ## Quick Start |
| 57 | |
| 58 | One command to install: |
| 59 | |
| 60 | ```bash |
| 61 | bash install.sh |
| 62 | ``` |
| 63 | |
| 64 | This creates a virtual environment, installs dependencies, and verifies everything works. No system Python changes, no manual pip commands. |
| 65 | |
| 66 | ## Using LoreConvo |
| 67 | |
| 68 | ### Claude Code (Terminal) |
| 69 | |
| 70 | **Start a session with the plugin loaded:** |
| 71 | |
| 72 | ```bash |
| 73 | claude --plugin-dir /path/to/loreconvo |
| 74 | ``` |
| 75 | |
| 76 | **Or load it inside an existing session:** |
| 77 | |
| 78 | ``` |
| 79 | /plugin add /path/to/loreconvo |
| 80 | ``` |
| 81 | |
| 82 | Replace `/path/to/loreconvo` with wherever you saved the source folder. |
| 83 | |
| 84 | After making code changes, use `/reload-plugins` to refresh without restarting. |
| 85 | |
| 86 | Once loaded, Claude has access to all 28 LoreConvo MCP tools automatically. Ask Claude to "save this session" or "recall what we discussed about X" and it will use the tools on its own. |
| 87 | |
| 88 | ### Cowork (Desktop App) |
| 89 | |
| 90 | 1. Click the **+** button next to the prompt box |
| 91 | 2. Select **Plugins** |
| 92 | 3. Select **Add plugin** |
| 93 | 4. Browse to the `loreconvo` source folder |
| 94 | |
| 95 | **Important: Shared Database Access** |
| 96 | |
| 97 | Cowork runs in a sandboxed VM and can't see your Mac's filesystem by default. To read sessions saved by Claude Code, ask Claude in Cowork: |
| 98 | |
| 99 | > "Mount my ~/.loreconvo folder" |
| 100 | |
| 101 | Once mounted, Cowork reads and writes to the same database as Claude Code. Sessions saved in Code appear instantly in Cowork. |
| 102 | |
| 103 | ### Claude Chat (Web) |
| 104 | |
| 105 | Chat doesn't support plugins, so LoreConvo provides a one-command bridge. Run this in your terminal: |
| 106 | |
| 107 | ```bash |
| 108 | bash export-to-chat.sh |
| 109 | ``` |
| 110 | |
| 111 | This exports your last session and copies it to your clipboard (macOS). Switch to Chat and paste (Cmd+V). Chat instantly has the context from your Code or Cowork session. |
| 112 | |
| 113 | To search for a specific session: |
| 114 | |
| 115 | ```bash |
| 116 | bash export-to-chat.sh "tax prep" |
| 117 | ``` |
| 118 | |
| 119 | ## How It Works Across Surfaces |
| 120 | |
| 121 | The core value of LoreConvo is that context persists across Claude surfaces automatically. Here is the full chain: |
| 122 | |
| 123 | ``` |
| 124 | Claude Code (~/.claude/settings.json via `claude mcp add`) |
| 125 | |-- SessionEnd hook --> auto_save.py --> ~/.loreconvo/sessions.db |
| 126 | |-- SessionStart hook <-- auto_load.py <-+ |
| 127 | | |
| 128 | Cursor (.cursor/mcp.json) <--MCP-----+ |
| 129 | Codex (~/.codex/config.toml) <--MCP-+ |
| 130 | Hermes Agent (~/.hermes/config.yaml) <-MCP-+ |
| 131 | All surfaces: save_session / get_recent_sessions / search_sessions |
| 132 | |
| 133 | Claude Chat (web) |
| 134 | |-- export-to-chat.sh --> clipboard --> paste into Chat |
| 135 | ``` |
| 136 | |
| 137 | **Claude Code** is |