01 install
One binary, no runtime dependencies. Install with the script, or grab a release.
flex needs read access to your Claude Code session logs. It never writes to them — it reads, indexes, and stores the result in its own file.
02 flex init
flex init scans your Claude Code history, compiles every session into chunks, computes embeddings and the knowledge graph, and writes one SQLite file to ~/.flex/cells/.
After the first run, a background worker watches for new sessions and keeps the cell current within seconds. You never run flex init twice.
03 your first query
Ask in plain language. flex hands Claude the database schema, and Claude assembles the answer in a few targeted queries — reading the schema before it writes a single one.
Scope a single repo, or search across all of them:
04 what it stores
Everything lives in one SQLite file: structured tables, vector embeddings, and a precomputed graph. Plain tables you can query yourself with sqlite3.
inspect it directly
05 staying local
flex runs entirely on your machine. The cell is a file you own — back it up, move it, delete it, open it in any SQLite tool.
- no cloud — nothing is uploaded; the index lives in
~/.flex. - no API key — no account, no sign-in to read your own history.
- no vendor — open SQLite, no proprietary format to be locked into.
- no rate limits — query as often as you like; it's local I/O.
For embeddings, point flex at any provider you already use, or run a local model — your choice. Read the schema reference and configuration in the full docs, coming with the beta.
one command. no API keys.