onadit Docs
How it works / Where data lives
Download

Where data lives

Everything Onadit stores is in 1 folder in your home directory, plus a few small files next to the tools it connects to.

The Rift folder#

~/Library/Application Support/Rift/

PathHolds
data/Your archive and settings. Described below.
jobs/The job queue: queue.json and payloads/
app/, node/The engine and its runtime. Package installs only.
logs/Engine logs. Terminal installs only. Package installs log to ~/Library/Logs/Rift/.

Inside data/#

PathHolds
config.jsonSettings. See Configuration.
lancedb/The database: 1 table for recent conversations, 1 for older ones, plus digests and documents
raw/conversations/<source>/The original payload of every conversation, 1 folder per source. The index can be rebuilt from these.
raw/digests/Weekly digests, when enrichment is on
inbox/Drop an export here and Onadit imports it
review-queue/Sessions Capture was unsure about. See Capture.
quarantine/Sessions that were too large or unreadable
capture-state.jsonWhich sessions Capture has already seen
embeddings/A cache of embeddings, when Search by meaning is on
briefs/, project-index.jsonPrepared project briefs and the map from sessions to projects
observability/Local logs: capture runs, index and embedding events, which MCP tools were called, the update check
rift.pidThe engine's process ID while it runs

The database#

Onadit uses LanceDB, an embedded database. Nothing listens on the network for it.

TableHoldsMain columns
conversations_hotCurrent conversations. Every save and import lands hereid, content, summary, embedding, source, domain, intent, quality, topics, decisions, key_outputs, indexed_at, idempotency_key
conversations_coldArchived conversations: those older than 30 days, once rift compact has runSame as above
digestsWeekly summariesid, content, summary, embedding, period_start, period_end, digest_type
structured_docsDocuments from folders you asked Onadit to indexid, source_path, content, embedding, source_type, source_scope, indexed_at
structured_docs_localThe same, for sources embedded on your MacSame as above

Embeddings have 512 dimensions. A conversation imported with Search by meaning off is stored with an empty vector and found by keyword.

Outside the Rift folder#

PathHolds
~/Applications/Rift.appThe app
~/.rift/bin/riftThe command line
~/Library/LaunchAgents/com.getrift.daemon.plistThe launch agent
~/Library/Logs/Rift/Engine logs
~/.rift.envYour Voyage key, if you saved one. Readable by you only.
macOS Keychain, service com.getrift.daemonThe tokens the command line and the app use to talk to the engine
~/Library/Application Support/Claude/claude_desktop_config.jsonA rift entry, if you connected Claude
~/.claude.jsonA rift entry, if you connected Claude Code
~/.codex/config.tomlA rift entry, if you connected Codex
~/.cursor/mcp.jsonA rift entry, if you connected Cursor

Folders Onadit reads and never changes#

FolderRead by
~/.claude/projects/Capture, for Claude Code sessions
~/.codex/sessions/ and ~/.codex/archived_sessions/Capture, for Codex sessions
~/Library/Application Support/Claude/local-agent-mode-sessions/Capture, only if you opt in to Cowork sessions
~/.grok/Capture, only if you opt in to Grok CLI sessions

Back up or move the archive#

The archive is ordinary files in ~/Library/Application Support/Rift/data/. To keep it somewhere else, set data_paths.data_dir in config.json and restart the engine. The engine reads its settings once, when it starts.

Last updated 12 October 2026. This page is also available as Markdown, and every page is listed in llms.txt.