Skip to content
Collections

A collection is a hand-picked tree

Hierarchical, cross-project, up to eight levels deep.

v1.0 launch decisionsscrapingsales-flowingestionapify-pivotrate-limitscookie-jarlead-magnetcold-cadencededupe-keymerge-policypinecone-upsertDrag a session onto a collection to add it. Drag collections to reorder.

Project

Auto-derived from cwd. One per session. Coarse, immutable.

Tag

Flat #keyword labels. Many per session. Cross-project, auto-filterable.

Collection

Hand-picked tree, cross-project, up to 8 deep. Curated by you.

Three-layer durability

Every collection change is committed to three independent stores. If any one fails, the others can rebuild it. Same write path as tags, notes, and aliases.

  1. Speed

    Live database

    ~/.recall/db.sqlite

    The SQLite store that powers search, the UI, and every read. Append-only audit log of every collection change.

  2. Recoverability

    Plain-text mirror

    ~/.recall/collections.json

    Human-readable JSON, rewritten on every change. If the database is corrupted, the entire collection tree rebuilds from this file alone.

  3. Sacrosanct source

    Original Claude files

    ~/.claude/projects/**

    Strictly read-only. Recall never writes, renames, or deletes them. Wipe everything else and your raw transcripts survive.

Collections

Tree shape and three-layer durability are above. Operational notes:

#URL sharing

Active collection lives in the URL hash as col=<uuid>. Paste anywhere; clicking opens the app filtered to that collection.

#Restoring after a wipe

If you delete ~/.recall/db.sqlite, your collections rebuild from ~/.recall/collections.json (the plain-text mirror). Future:

bash
recall restore-collections   # rebuild from JSON mirror (planned)

Until that ships, the JSON mirror is your authoritative backup.

#What collections are NOT

Not tags (flat, keyword-ish). Not projects (auto from cwd). Not folders (nothing moves on disk). They cross project boundaries freely and are hand-picked by you.

Last updated