@clauderecallhq/cli 0.12.5 → 0.61.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/LICENSE +37 -17
  2. package/README.md +110 -22
  3. package/dist/cli.js +1641 -353
  4. package/dist/daemon/entrypoint.js +1872 -54
  5. package/dist/mcp-server.js +930 -0
  6. package/dist/share/fonts/Inter-Bold.woff +0 -0
  7. package/dist/share/fonts/Inter-Regular.woff +0 -0
  8. package/dist/share/fonts/JetBrainsMono-Regular.woff +0 -0
  9. package/dist/web/assets/_brand-Bw9uSB4O.js +1 -0
  10. package/dist/web/assets/captureNode-9CVj9vYC.js +2 -0
  11. package/dist/web/assets/card-a-minimal-ujNERzX7.js +1 -0
  12. package/dist/web/assets/card-b-terminal-DpJ_tVpg.js +1 -0
  13. package/dist/web/assets/card-c-gradient-CZXVGuNd.js +1 -0
  14. package/dist/web/assets/card-d-dashboard-CHKD-PnB.js +1 -0
  15. package/dist/web/assets/dist-CWaokT35.js +56 -0
  16. package/dist/web/assets/index-B-HrjaDy.css +1 -0
  17. package/dist/web/assets/index-BZYcD76T.js +633 -0
  18. package/dist/web/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff +0 -0
  19. package/dist/web/assets/patterns-BPeZb9N0.js +1 -0
  20. package/dist/web/assets/stats-BSwqSiFU.js +1 -0
  21. package/dist/web/assets/thread-D2AXyhOx.js +1 -0
  22. package/dist/web/index.html +8 -2
  23. package/package.json +56 -16
  24. package/scripts/postinstall.mjs +38 -0
  25. package/dist/cli.js.map +0 -1
  26. package/dist/commands/activate.js +0 -69
  27. package/dist/commands/activate.js.map +0 -1
  28. package/dist/commands/audit-secrets.js +0 -103
  29. package/dist/commands/audit-secrets.js.map +0 -1
  30. package/dist/commands/blame.js +0 -35
  31. package/dist/commands/blame.js.map +0 -1
  32. package/dist/commands/config-verification.js +0 -18
  33. package/dist/commands/config-verification.js.map +0 -1
  34. package/dist/commands/context.js +0 -144
  35. package/dist/commands/context.js.map +0 -1
  36. package/dist/commands/correlate.js +0 -70
  37. package/dist/commands/correlate.js.map +0 -1
  38. package/dist/commands/digest.js +0 -78
  39. package/dist/commands/digest.js.map +0 -1
  40. package/dist/commands/health.js +0 -62
  41. package/dist/commands/health.js.map +0 -1
  42. package/dist/commands/index.js +0 -247
  43. package/dist/commands/index.js.map +0 -1
  44. package/dist/commands/install-extension.js +0 -138
  45. package/dist/commands/install-extension.js.map +0 -1
  46. package/dist/commands/license.js +0 -39
  47. package/dist/commands/license.js.map +0 -1
  48. package/dist/commands/list.js +0 -47
  49. package/dist/commands/list.js.map +0 -1
  50. package/dist/commands/mcp.js +0 -29
  51. package/dist/commands/mcp.js.map +0 -1
  52. package/dist/commands/open.js +0 -28
  53. package/dist/commands/open.js.map +0 -1
  54. package/dist/commands/paste.js +0 -154
  55. package/dist/commands/paste.js.map +0 -1
  56. package/dist/commands/projects.js +0 -36
  57. package/dist/commands/projects.js.map +0 -1
  58. package/dist/commands/search.js +0 -67
  59. package/dist/commands/search.js.map +0 -1
  60. package/dist/commands/semantic.js +0 -173
  61. package/dist/commands/semantic.js.map +0 -1
  62. package/dist/commands/show.js +0 -121
  63. package/dist/commands/show.js.map +0 -1
  64. package/dist/commands/start.js +0 -47
  65. package/dist/commands/start.js.map +0 -1
  66. package/dist/commands/stats.js +0 -133
  67. package/dist/commands/stats.js.map +0 -1
  68. package/dist/commands/status.js +0 -45
  69. package/dist/commands/status.js.map +0 -1
  70. package/dist/commands/stop.js +0 -29
  71. package/dist/commands/stop.js.map +0 -1
  72. package/dist/commands/thread.js +0 -396
  73. package/dist/commands/thread.js.map +0 -1
  74. package/dist/context/formatter.js +0 -103
  75. package/dist/context/formatter.js.map +0 -1
  76. package/dist/daemon/auto-tag-config.js +0 -103
  77. package/dist/daemon/auto-tag-config.js.map +0 -1
  78. package/dist/daemon/auto-tag-config.test.js +0 -72
  79. package/dist/daemon/auto-tag-config.test.js.map +0 -1
  80. package/dist/daemon/auto-title-config.js +0 -70
  81. package/dist/daemon/auto-title-config.js.map +0 -1
  82. package/dist/daemon/bulk-title-jobs.js +0 -170
  83. package/dist/daemon/bulk-title-jobs.js.map +0 -1
  84. package/dist/daemon/correlator.js +0 -320
  85. package/dist/daemon/correlator.js.map +0 -1
  86. package/dist/daemon/discover.js +0 -316
  87. package/dist/daemon/discover.js.map +0 -1
  88. package/dist/daemon/editor-detection.js +0 -186
  89. package/dist/daemon/editor-detection.js.map +0 -1
  90. package/dist/daemon/entrypoint.js.map +0 -1
  91. package/dist/daemon/git-correlator.js +0 -256
  92. package/dist/daemon/git-correlator.js.map +0 -1
  93. package/dist/daemon/mcp-installer.js +0 -108
  94. package/dist/daemon/mcp-installer.js.map +0 -1
  95. package/dist/daemon/onboarding-state.js +0 -140
  96. package/dist/daemon/onboarding-state.js.map +0 -1
  97. package/dist/daemon/pidfile.js +0 -57
  98. package/dist/daemon/pidfile.js.map +0 -1
  99. package/dist/daemon/ports.js +0 -48
  100. package/dist/daemon/ports.js.map +0 -1
  101. package/dist/daemon/scanProgressRegistry.js +0 -62
  102. package/dist/daemon/scanProgressRegistry.js.map +0 -1
  103. package/dist/daemon/server.js +0 -2010
  104. package/dist/daemon/server.js.map +0 -1
  105. package/dist/daemon/tag-scanner/anthropic-client.js +0 -40
  106. package/dist/daemon/tag-scanner/anthropic-client.js.map +0 -1
  107. package/dist/daemon/tag-scanner/autopilot.js +0 -131
  108. package/dist/daemon/tag-scanner/autopilot.js.map +0 -1
  109. package/dist/daemon/tag-scanner/claude-cli-driver.js +0 -250
  110. package/dist/daemon/tag-scanner/claude-cli-driver.js.map +0 -1
  111. package/dist/daemon/tag-scanner/orchestrator.js +0 -88
  112. package/dist/daemon/tag-scanner/orchestrator.js.map +0 -1
  113. package/dist/daemon/tag-scanner/prompt.js +0 -46
  114. package/dist/daemon/tag-scanner/prompt.js.map +0 -1
  115. package/dist/daemon/tag-scanner/prompt.test.js +0 -48
  116. package/dist/daemon/tag-scanner/prompt.test.js.map +0 -1
  117. package/dist/daemon/tag-scanner/scan-state.js +0 -49
  118. package/dist/daemon/tag-scanner/scan-state.js.map +0 -1
  119. package/dist/daemon/tag-scanner/session-fetcher.js +0 -82
  120. package/dist/daemon/tag-scanner/session-fetcher.js.map +0 -1
  121. package/dist/daemon/tag-scanner/session-fetcher.test.js +0 -34
  122. package/dist/daemon/tag-scanner/session-fetcher.test.js.map +0 -1
  123. package/dist/daemon/tag-scanner/validator.js +0 -50
  124. package/dist/daemon/tag-scanner/validator.js.map +0 -1
  125. package/dist/daemon/tag-scanner/validator.test.js +0 -41
  126. package/dist/daemon/tag-scanner/validator.test.js.map +0 -1
  127. package/dist/daemon/terminal-registry.js +0 -443
  128. package/dist/daemon/terminal-registry.js.map +0 -1
  129. package/dist/daemon/ui.js +0 -64
  130. package/dist/daemon/ui.js.map +0 -1
  131. package/dist/daemon/watcher.js +0 -256
  132. package/dist/daemon/watcher.js.map +0 -1
  133. package/dist/db/client.js +0 -22
  134. package/dist/db/client.js.map +0 -1
  135. package/dist/db/schema.js +0 -496
  136. package/dist/db/schema.js.map +0 -1
  137. package/dist/license/api-base.js +0 -13
  138. package/dist/license/api-base.js.map +0 -1
  139. package/dist/license/manager.js +0 -43
  140. package/dist/license/manager.js.map +0 -1
  141. package/dist/license/public-key.js +0 -19
  142. package/dist/license/public-key.js.map +0 -1
  143. package/dist/license/storage.js +0 -27
  144. package/dist/license/storage.js.map +0 -1
  145. package/dist/license/verify.js +0 -23
  146. package/dist/license/verify.js.map +0 -1
  147. package/dist/mcp/audit.js +0 -126
  148. package/dist/mcp/audit.js.map +0 -1
  149. package/dist/mcp/prompts.js +0 -180
  150. package/dist/mcp/prompts.js.map +0 -1
  151. package/dist/mcp/server.js +0 -502
  152. package/dist/mcp/server.js.map +0 -1
  153. package/dist/mcp/thread-tools.js +0 -363
  154. package/dist/mcp/thread-tools.js.map +0 -1
  155. package/dist/mcp/write-tools.js +0 -239
  156. package/dist/mcp/write-tools.js.map +0 -1
  157. package/dist/parser/jsonl.js +0 -150
  158. package/dist/parser/jsonl.js.map +0 -1
  159. package/dist/semantic/chunker.js +0 -47
  160. package/dist/semantic/chunker.js.map +0 -1
  161. package/dist/semantic/config.js +0 -74
  162. package/dist/semantic/config.js.map +0 -1
  163. package/dist/semantic/embedder.js +0 -54
  164. package/dist/semantic/embedder.js.map +0 -1
  165. package/dist/semantic/fusion.js +0 -38
  166. package/dist/semantic/fusion.js.map +0 -1
  167. package/dist/semantic/model-download.js +0 -69
  168. package/dist/semantic/model-download.js.map +0 -1
  169. package/dist/semantic/pipeline.js +0 -375
  170. package/dist/semantic/pipeline.js.map +0 -1
  171. package/dist/semantic/query.js +0 -42
  172. package/dist/semantic/query.js.map +0 -1
  173. package/dist/semantic/worker.js +0 -78
  174. package/dist/semantic/worker.js.map +0 -1
  175. package/dist/stats/backfill.js +0 -151
  176. package/dist/stats/backfill.js.map +0 -1
  177. package/dist/stats/health.js +0 -102
  178. package/dist/stats/health.js.map +0 -1
  179. package/dist/stats/query.js +0 -385
  180. package/dist/stats/query.js.map +0 -1
  181. package/dist/utils/aliases.js +0 -107
  182. package/dist/utils/aliases.js.map +0 -1
  183. package/dist/utils/autoCollections.js +0 -635
  184. package/dist/utils/autoCollections.js.map +0 -1
  185. package/dist/utils/autoTitle.js +0 -348
  186. package/dist/utils/autoTitle.js.map +0 -1
  187. package/dist/utils/collections.js +0 -446
  188. package/dist/utils/collections.js.map +0 -1
  189. package/dist/utils/format.js +0 -46
  190. package/dist/utils/format.js.map +0 -1
  191. package/dist/utils/notes.js +0 -270
  192. package/dist/utils/notes.js.map +0 -1
  193. package/dist/utils/paths.js +0 -50
  194. package/dist/utils/paths.js.map +0 -1
  195. package/dist/utils/pricing.js +0 -257
  196. package/dist/utils/pricing.js.map +0 -1
  197. package/dist/utils/secret-scanner.js +0 -166
  198. package/dist/utils/secret-scanner.js.map +0 -1
  199. package/dist/utils/sessionLabel.js +0 -64
  200. package/dist/utils/sessionLabel.js.map +0 -1
  201. package/dist/utils/tags.js +0 -97
  202. package/dist/utils/tags.js.map +0 -1
  203. package/dist/utils/thread-context.js +0 -129
  204. package/dist/utils/thread-context.js.map +0 -1
  205. package/dist/utils/threadFilter.js +0 -18
  206. package/dist/utils/threadFilter.js.map +0 -1
  207. package/dist/utils/threads-titler.js +0 -298
  208. package/dist/utils/threads-titler.js.map +0 -1
  209. package/dist/utils/threads.js +0 -383
  210. package/dist/utils/threads.js.map +0 -1
  211. package/dist/utils/usage.js +0 -76
  212. package/dist/utils/usage.js.map +0 -1
  213. package/dist/verification/compute.js +0 -88
  214. package/dist/verification/compute.js.map +0 -1
  215. package/dist/verification/config.js +0 -34
  216. package/dist/verification/config.js.map +0 -1
  217. package/dist/web/assets/index-CIr6J4Fw.js +0 -1201
  218. package/dist/web/assets/index-Ctc8g9Jw.css +0 -1
package/LICENSE CHANGED
@@ -1,27 +1,47 @@
1
- Claude Recall Proprietary License (pre-release)
1
+ Claude Recall Proprietary License
2
2
 
3
3
  Copyright (c) 2026 Claude Recall HQ. All rights reserved.
4
4
 
5
- This software and its source code are proprietary and confidential.
6
- No part of this software may be reproduced, distributed, modified,
7
- sublicensed, or used for commercial purposes without the prior written
8
- permission of the copyright holder.
5
+ This software, its source code, and any compiled or bundled distribution
6
+ of it are proprietary and confidential. No part of this software may be
7
+ reproduced, distributed, modified, sublicensed, or used for commercial
8
+ purposes without the prior written permission of the copyright holder.
9
9
 
10
- Access to the source code does not grant any rights of reuse,
11
- redistribution, or derivative work. Forking for the purpose of
12
- personal evaluation on the forker's own machine is permitted; any
13
- redistribution, public hosting, or resale is not.
10
+ Reverse engineering. You may not decompile, disassemble, deobfuscate,
11
+ extract source from compiled or minified bundles, or otherwise attempt
12
+ to derive the source code of this software, except to the extent such
13
+ restriction is expressly prohibited by applicable law. Tampering with
14
+ or circumventing the license activation, revocation, or fingerprinting
15
+ mechanisms is a material breach.
14
16
 
15
- Until a formal commercial license is published alongside the v0.6
16
- commercialization milestone, this notice governs all use of the
17
- software. The commercial license, once published, will supersede
18
- this notice.
17
+ License keys. A license key is granted personally to the purchaser
18
+ identified at activation time. License keys may not be sold, transferred,
19
+ shared, sublicensed, or used by any person or organization other than
20
+ the original purchaser. Each activated license is permitted on the
21
+ specific machines registered through the activation flow and within the
22
+ activation limit attached to the key.
19
23
 
20
- Trademarks: "Claude Recall" and the Claude Recall logo are trademarks
21
- of Claude Recall HQ. Nothing in this notice grants any trademark
22
- rights.
24
+ Revocation. The copyright holder reserves the right to revoke any
25
+ license for material breach of these terms. Material breach includes
26
+ (without limitation): refunded purchases, license-key sharing or
27
+ transfer, fraudulent or chargeback-disputed payments, automated abuse
28
+ of activation endpoints, or any attempt to circumvent the protections
29
+ described above. Upon revocation, the licensee's rights to use the
30
+ software end immediately and the software may stop functioning on
31
+ the next periodic license validation.
23
32
 
24
- No warranty: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
33
+ Permitted personal evaluation. Forking the repository, when access has
34
+ been granted, for the purpose of personal evaluation on the forker's
35
+ own machine is permitted. Any redistribution, public hosting, resale,
36
+ or use for commercial purposes is not.
37
+
38
+ Trademarks. "Claude Recall" and the Claude Recall logo are trademarks
39
+ of Claude Recall HQ. Nothing in this notice grants any trademark rights.
40
+
41
+ Severability. If any provision of this license is held to be
42
+ unenforceable, the remaining provisions remain in full force.
43
+
44
+ No warranty. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
25
45
  ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
26
46
  WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
27
47
  AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  <div align="center">
2
2
 
3
3
  <picture>
4
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/clauderecallhq/.github/main/profile/assets/wordmark-dark.svg">
5
- <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/clauderecallhq/.github/main/profile/assets/wordmark-light.svg">
6
- <img src="https://raw.githubusercontent.com/clauderecallhq/.github/main/profile/assets/wordmark-dark.svg" alt="Claude Recall" width="400">
4
+ <source media="(prefers-color-scheme: dark)" srcset="https://clauderecall.com/wordmark-dark.svg">
5
+ <source media="(prefers-color-scheme: light)" srcset="https://clauderecall.com/wordmark-light.svg">
6
+ <img src="https://clauderecall.com/wordmark-dark.svg" alt="Claude Recall" width="400">
7
7
  </picture>
8
8
 
9
9
  <br />
@@ -15,6 +15,11 @@ Claude Recall indexes every Claude Code session you've ever run, surfaces what m
15
15
 
16
16
  <br />
17
17
 
18
+ <img src="https://clauderecall.com/hero/brand-morph.gif" alt="Claude Recall — memory tree morphing into the wordmark" width="700">
19
+
20
+ <br />
21
+ <br />
22
+
18
23
  [![npm](https://img.shields.io/npm/v/@clauderecallhq/cli?style=flat-square&color=f97316&label=npm)](https://www.npmjs.com/package/@clauderecallhq/cli)
19
24
  [![Node](https://img.shields.io/badge/node-%E2%89%A520-43853d?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)
20
25
  [![TypeScript](https://img.shields.io/badge/typescript-strict-3178c6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
@@ -141,8 +146,9 @@ recall search "auth #auth-fix" -p Pest-Control
141
146
  ### On-Device Vector Search &nbsp;<sub>Pro</sub>
142
147
  Local **768-dimension embeddings** via `bge-base-en-v1.5` ONNX. Three-lane RRF fusion (BM25 + summary + vectors) finds sessions by *meaning*, not keywords. Your code never leaves your laptop.
143
148
 
149
+ The embedder model (~110MB) auto-downloads on `npm install`. Skip with `RECALL_SKIP_MODEL_DOWNLOAD=1`.
150
+
144
151
  ```bash
145
- recall semantic install
146
152
  recall similar <session-id>
147
153
  ```
148
154
 
@@ -285,6 +291,19 @@ recall open
285
291
 
286
292
  The daemon watches `~/.claude/projects/` for new and changed session files, indexes them into a local SQLite database at `~/.recall/db.sqlite`, and serves the web UI on a random `127.0.0.1` port.
287
293
 
294
+ ### Browse
295
+
296
+ Two interactive surfaces, both work without the daemon (they read SQLite directly):
297
+
298
+ ```bash
299
+ recall # smart welcome dashboard with status + slash command palette
300
+ recall tui # full terminal UI: arrow-key browse, live search, preview pane
301
+ ```
302
+
303
+ `recall` (no args) prints a branded splash with version / daemon / sessions / license status and drops into a slash-aware prompt; type `/` to browse 60+ commands grouped by purpose (Setup, Browse, Pipe to Claude, Threads, Inference, Analytics, Daemon, Diagnostics, Integrations, Sharing, Feedback, Pro).
304
+
305
+ `recall tui` mounts an Ink-based terminal app modeled on `lazygit` and `k9s`. Arrow keys to navigate, `/` to filter, `enter` to view the full transcript, `o` to open the selected session in the browser, `q` to quit.
306
+
288
307
  ### Explore
289
308
 
290
309
  ```bash
@@ -308,6 +327,44 @@ recall context abc12345 --prelude "continue where we left off" | claude
308
327
  recall context abc12345 --since 2h | claude
309
328
  ```
310
329
 
330
+ ### How Claude Recall integrates with Claude Code
331
+
332
+ Don't think of Claude Recall as a *separate* tool you context-switch to. It's **Claude Code's memory layer** — you reach it from inside any session through four surfaces, in increasing power:
333
+
334
+ **1. Bash tool — always available, zero setup.**
335
+
336
+ Inside any Claude Code conversation, just say *"run `recall search auth bug`"* (or any other recall command). The Bash tool executes it; output lands in the conversation. Works the moment you `npm install -g @clauderecallhq/cli` — no config.
337
+
338
+ **2. Slash commands (skills) — one-tap workflows.**
339
+
340
+ When Claude Recall is installed as a Claude Code plugin, typing `/` in Claude Code surfaces ready-made workflows:
341
+
342
+ | Slash command | What it does |
343
+ |---|---|
344
+ | `/claude-recall:recall <query>` | Search past sessions and pull relevant ones in as context |
345
+ | `/claude-recall:context <id>` | Load one specific session's full transcript |
346
+ | `/claude-recall:neighborhood <id>` | Bundle parents + children + citations + similar |
347
+ | `/claude-recall:tag <id> <tag>` | Tag a session for later retrieval |
348
+ | `/claude-recall:alias <id> <name>` | Rename a session |
349
+ | `/claude-recall:threads-sync` | Capture currently active terminals into a thread |
350
+ | `/claude-recall:thread-scan` | Auto-detect threads across historical sessions |
351
+ | `/claude-recall:setup` | Verify installation and MCP connection |
352
+
353
+ **3. MCP server — the model calls Recall directly.**
354
+
355
+ The most powerful surface. With `recall mcp` registered as an MCP server in Claude Code, the model itself decides when to call Recall mid-conversation. Ask *"have I solved this auth bug before?"* and Claude calls `search` autonomously, gets results, and uses them. Ask *"pull yesterday's context"* and it calls `context_for_session`. No commands, no slash menu — pure intent.
356
+
357
+ **4. Piping into a fresh `claude` — start tomorrow with yesterday's context.**
358
+
359
+ The cross-session continuation pattern, run from your shell:
360
+
361
+ ```bash
362
+ recall neighborhood abc12345 | claude # bundle related sessions, start fresh chat
363
+ recall context abc12345 | claude # one specific session, start fresh chat
364
+ ```
365
+
366
+ Use case: you finish work Monday night, restart Tuesday morning with a clean Claude Code window, and want it to know what happened yesterday without re-explaining.
367
+
311
368
  ### MCP Server
312
369
 
313
370
  Point any MCP client at Recall and the model calls it as native tools:
@@ -323,11 +380,11 @@ Point any MCP client at Recall and the model calls it as native tools:
323
380
  ```
324
381
 
325
382
  <details>
326
- <summary><strong>Available MCP tools (31 total)</strong></summary>
383
+ <summary><strong>Available MCP tools (33 total)</strong></summary>
327
384
 
328
385
  <br />
329
386
 
330
- **Read tools (13 -- always available):**
387
+ **Read tools (14 -- always available):**
331
388
 
332
389
  | Tool | Purpose |
333
390
  |---|---|
@@ -341,11 +398,12 @@ Point any MCP client at Recall and the model calls it as native tools:
341
398
  | `semantic_status` | Health snapshot: model, worker, queue depth (Pro) |
342
399
  | `get_session` | Full transcript (accepts 8+ char id prefix) |
343
400
  | `context_for_session` | Condensed markdown export, ready to inject |
401
+ | `recall_neighborhood` | Bundle parents/children/citations/similar as one budget-bounded markdown blob |
344
402
  | `thread_list` | All threads, newest first; can exclude archived |
345
403
  | `thread_get` | Full thread detail with every session edge |
346
404
  | `thread_for_session` | Non-archived threads referencing a session |
347
405
 
348
- **Write tools (18 -- opt-in via `--allow-writes`):**
406
+ **Write tools (19 -- opt-in via `--allow-writes`):**
349
407
 
350
408
  | Tool | Purpose |
351
409
  |---|---|
@@ -364,6 +422,7 @@ Point any MCP client at Recall and the model calls it as native tools:
364
422
  | `thread_archive` | Soft-delete thread; hidden by default |
365
423
  | `thread_merge` | Move all edges from source to dest, delete source |
366
424
  | `thread_split` | Peel sessions into new thread |
425
+ | `sync_active_sessions` | Capture currently-active terminals in a repo into a thread (Captain Code Pattern) |
367
426
  | `generate_thread_titles` | Generate coherent titles for sessions in thread DAG |
368
427
 
369
428
  All writes are rate-limited (default 60/min), zod-validated, and audited to `~/.recall/audit/`.
@@ -446,6 +505,10 @@ Claude Recall is **local-first by design**, not as an afterthought.
446
505
  <br />
447
506
 
448
507
  ```bash
508
+ # Surfaces
509
+ recall # smart welcome dashboard + slash command palette (no args)
510
+ recall tui # interactive terminal UI for browsing and search
511
+
449
512
  # Lifecycle
450
513
  recall start # start daemon (watcher + local HTTP)
451
514
  recall stop # stop daemon
@@ -492,9 +555,11 @@ recall correlate # link sessions to commits
492
555
  recall blame <sha> # commit -> session reverse lookup
493
556
 
494
557
  # Semantic / vector search (Pro)
495
- recall semantic install # download on-device embedding model
496
- recall semantic status # model + backfill progress
558
+ # Embedder model auto-installs on `npm install`; manual install also available.
559
+ recall semantic install # download on-device embedding model (auto-runs on npm install)
560
+ recall semantic status # model + backfill progress + auto-extract state
497
561
  recall semantic reindex # re-embed everything
562
+ recall semantic auto-extract on # daemon nibbles un-extracted sessions through Claude (Pro)
498
563
  recall similar <id> # cosine kNN over session chunks
499
564
 
500
565
  # Threads (v0.15a)
@@ -556,6 +621,29 @@ recall audit-secrets # scan index for residual secrets
556
621
 
557
622
  <br />
558
623
 
624
+ ## Supported Platforms
625
+
626
+ Claude Recall is a Node.js CLI with a few native dependencies (`better-sqlite3`, `sqlite-vec`, and the optional `@huggingface/transformers` for semantic search). npm picks the right prebuilt binary for your platform automatically; no compile toolchain required.
627
+
628
+ | Platform | Tier | Status |
629
+ |---|---|---|
630
+ | **macOS** arm64 (Apple Silicon, M1+) | Tier 1 | Tested in pre-publish smoke test |
631
+ | **macOS** x64 (Intel) | Tier 1 | Tested in pre-publish smoke test |
632
+ | **Linux** x64 (glibc, kernel 4.x+) | Tier 1 | Tested on every CI run (Node 22, 24) |
633
+ | **Linux** arm64 (glibc) | Tier 2 | Best-effort. Native deps ship arm64 prebuilds; report issues if you hit one |
634
+ | **Windows** x64 (Windows 10+) | Tier 1 | Tested in pre-publish smoke test |
635
+ | Windows arm64 / Linux musl (Alpine) / 32-bit | Unsupported | Native deps lack reliable prebuilds; install will be rejected |
636
+
637
+ **Node:** 22 LTS or 24 LTS. Node 20 and earlier are unsupported (declared in `engines.node`).
638
+
639
+ **Semantic search is optional.** The on-device embedder is the only feature that loads the native ONNX runtime. The model auto-downloads (~110MB) on `npm install`; skip with `RECALL_SKIP_MODEL_DOWNLOAD=1` and install later via `recall semantic install`. Core CLI features — search, list, context, daemon, MCP — work on every supported platform regardless of whether the embedder is installed. If the embedder fails to load on your platform, you get a clear error pointing here, and the rest of Claude Recall keeps working.
640
+
641
+ <br />
642
+
643
+ ---
644
+
645
+ <br />
646
+
559
647
  ## Distribution
560
648
 
561
649
  Claude Recall ships on every surface a developer already works in.
@@ -603,13 +691,13 @@ npm install -g @clauderecallhq/cli
603
691
 
604
692
  ### Pro &nbsp;<sub>← daily driver</sub>
605
693
 
606
- **$29.69 one-time**
607
- Pay once. Offline forever. Dead-man clause included.
608
- *Less than two coffees a year out.*
694
+ **$29.69 one-time** through May 2026 (Founder pricing)
695
+ **$49.69 one-time** from June 2026 (standard)
696
+ Pay once. Offline forever. Lifetime updates. Dead-man clause included. Never a subscription.
609
697
 
610
698
  - Full-text search (FTS5 BM25)
611
699
  - On-device semantic vector search (768d, RRF fusion)
612
- - `recall context` re-injection -- **the moat**
700
+ - `recall context` re-injection, **the moat**
613
701
  - MCP server (Claude Desktop / Claude Code native tools)
614
702
  - VS Code / Cursor / Windsurf extension
615
703
  - Aliases, tags, markdown notes, pins, date filters, cross-session diff
@@ -619,7 +707,7 @@ Pay once. Offline forever. Dead-man clause included.
619
707
  - Secrets redaction (client-side scrub of keys, tokens, passwords pre-index)
620
708
  - **Every future personal-use feature.** One price, lifetime updates.
621
709
 
622
- [**Buy Pro for $29.69 →**](https://clauderecall.com/pricing)
710
+ [**Buy Pro for $29.69 (Founder pricing through May) →**](https://clauderecall.com/pricing)
623
711
 
624
712
  </td>
625
713
  <td width="33%" valign="top">
@@ -627,7 +715,7 @@ Pay once. Offline forever. Dead-man clause included.
627
715
  ### Enterprise
628
716
 
629
717
  **Contact us**
630
- Priced per deal.
718
+ Built for 50+ developer organizations.
631
719
 
632
720
  - Shared session library with end-to-end encrypted team sync
633
721
  - Team-wide tag conventions
@@ -648,13 +736,13 @@ Priced per deal.
648
736
 
649
737
  | Tool | Price |
650
738
  |---|---|
651
- | **Claude Recall** | **$29.69 one-time** |
739
+ | **Claude Recall** | **$29.69 one-time** through May 2026, **$49.69 one-time** from June |
652
740
  | Claude Code | $20 / mo |
653
741
  | Cursor | $20 / mo |
654
- | Raycast Pro | $8–$16 / mo |
742
+ | Raycast Pro | $8 to $16 / mo |
655
743
  | GitHub Copilot | $10 / mo |
656
744
 
657
- <sub>Prices as of April 2026.</sub>
745
+ <sub>Prices as of May 2026.</sub>
658
746
 
659
747
  <br />
660
748
 
@@ -704,8 +792,8 @@ Full pricing FAQ: **[clauderecall.com/pricing](https://clauderecall.com/pricing)
704
792
  <div align="center">
705
793
 
706
794
  <picture>
707
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/clauderecallhq/.github/main/profile/assets/mark-scrollback-dark.svg">
708
- <img src="https://raw.githubusercontent.com/clauderecallhq/.github/main/profile/assets/mark-scrollback-dark.svg" alt="Claude Recall" width="48">
795
+ <source media="(prefers-color-scheme: dark)" srcset="https://clauderecall.com/mark-scrollback-dark.svg">
796
+ <img src="https://clauderecall.com/mark-scrollback-dark.svg" alt="Claude Recall" width="48">
709
797
  </picture>
710
798
 
711
799
  <br />
@@ -713,10 +801,10 @@ Full pricing FAQ: **[clauderecall.com/pricing](https://clauderecall.com/pricing)
713
801
 
714
802
  **Claude Recall** -- the memory layer for the agent you're steering.
715
803
 
716
- [Website](https://clauderecall.com) &nbsp;&middot;&nbsp; [Install](https://www.npmjs.com/package/@clauderecallhq/cli) &nbsp;&middot;&nbsp; [Issues](https://github.com/clauderecallhq/.github/issues)
804
+ [Website](https://clauderecall.com) &nbsp;&middot;&nbsp; [Install](https://www.npmjs.com/package/@clauderecallhq/cli) &nbsp;&middot;&nbsp; [Issues](https://gitlab.com/clauderecallhq/clauderecallhq/-/issues)
717
805
 
718
806
  <br />
719
807
 
720
- <sub>Built by <a href="https://github.com/clauderecallhq">@clauderecallhq</a></sub>
808
+ <sub>Built by <a href="https://gitlab.com/clauderecallhq">@clauderecallhq</a></sub>
721
809
 
722
810
  </div>