claude-dbBLOCK
Free, open-source memory for Claude Code. Your own database, no cloud, no subscription.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Free, open-source memory for Claude Code. Your own database, no cloud, no subscription.
[](https://www.npmjs.com/package/claude-db) [](https://github.com/Avijit07x/claude-db/actions/workflows/ci.yml) [](./LICENSE)
Documentation · Quick start · CLI reference
Why
Every Claude Code chat starts from zero. You explain the same decisions, dead ends and rules again, and Claude works out what calls what from scratch.
claude-db fixes that. It keeps what you decided and a map of your code, and gives Claude the right part of it at the right time.
What it does
- Remembers across chats. Decisions, dead ends and rules are saved when a
chat ends, and the next chat starts by seeing them.
- Recalls what fits. Each prompt gets the one or two earlier memories that
match it, and nothing when none fit.
- Maps your code. Who defines, calls or imports a symbol is answered in one
call, instead of grep and reading files. It follows imports in TypeScript, JavaScript, Python, Go, Rust, Java and Kotlin.
- Keeps it yours. SQLite on your machine by default, or Postgres or MongoDB
to share across machines. No cloud, no subscription.
Install
You need Node 22.16 or newer and a git repository.
npm install -g claude-db cd your-project claude-db install --project
Restart Claude Code. There is nothing else to run, because capture and recall are hooks.
Then load what already exists with claude-db flush and claude-db scan. The setup guide has the rest.
Everyday use
0f00ccb3f69bOBSERVED · 2026-10-11Install
Commands as the repository documents them. They are shown, not run.
npm install -g mongodb
git clone https://github.com/Avijit07x/claude-db
npm install
npm install -g claude-db
npm install
npm install -g claude-db
Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: catchup description: Answer "where did I stop?" for this project. Gives three short groups, done, open and next, taken from the last chat, the recorded to-dos, the last handoff note and git. Use when the user comes back to a project, starts a new chat, or asks where they left off. It writes nothing. --- # Where did I stop? Run this from the project root: ```bash claude-db catchup ``` It prints what memory and git know about this project, in plain text. Some parts may be missing. A part with nothing in it is left out. - `Last handoff` is a note the user or a teammate saved on purpose. Trust it most, unless its heading says `older than the last chat`. Then the last chat is newer, and wins where they differ. - `Not finished yet in another chat` is a request another chat is still working on, or that was stopped. Say so under **Open**. - `Last chat` and `Chat before` are the other chats with the newest recorded requests, open or ended, newest first: the 5 newest requests in all. - `Still to do` are to-dos found in earlier chats. - `Not committed yet` is recorded work that no commit has covered. - `Decisions and dead ends` are what was chosen or ruled out, with the reason. - `Branch` says which branch you are on and how many files are uncommitted. - `Git status` and `Recent commits` are the live state of the repository. If the output is `Nothing recorded for this project yet.`, say exactly that and stop. ## Answer in three groups Reply with these three groups and nothing else. Keep each to a few short lines in plain words. **Done**: what is finished. Take it from the last chat, the recent commits and the handoff's `Done` line. **Open**: what is started but not finished. Take it from `Not committed yet`, `Git status`, the to-dos and the handoff's `Open` line. **Next**: what to do first. Take it from the handoff's `Next` line, then from the to-dos. ## Rules - Use only what the output shows. Do not read other files or search memory unless the user asks. - Mark anything you are unsure of with `(guess)`. Never state a guess as a fact. - If there is no clear next step, write `No clear next step found.` Do not invent one. - Say how old the information is. Use the dates in the output, for example `Last chat (Oct 6)`. - Do not save anything. Do not run any command that changes the repository. _Shipped with claude-db. It is replaced when claude-db updates._
Trust audit
BLOCKgrade F · trust 55/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | FAIL |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (6 observation(s))
- Network
- declared (6 observation(s))
- Shell
- declared (5 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
rules('key sk-ant-api03-abcdefghijklmnopqrstuvwx').length === 0,prompt(secret, 'order feed drops after a minute, my key is sk-ant-api03-abcdefghijklmnopqrstuvwx');
'https://x-access-token:[email protected]/acme/shop.git';
'https://x-access-token:[email protected]/acme/shop.git',
origin: 'https://x-access-token:[email protected]/acme/shop.git',
'-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEA\n-----END RSA PRIVATE KEY-----',
rules('-----BEGIN PRIVATE KEY-----\nabc\n-----END PRIVATE KEY-----').length === 0,check('slack tokens are redacted', !secrets[0].body.includes('xoxb-1234567890'));payload.ts
text: 'The staging database is postgres://admin:[email protected]:5432/app',
prompt: 'cdb use "mongodb+srv://avnadmin:[email protected]/db"',
['mongodb+srv://u:[email protected]/recall', 'mongodb'],
['postgres://u:p@localhost:5432/recall', 'postgres'],
console.log(`(tokens approximated at ${CHARS_PER_TOKEN} chars/token)`);console.log(`(tokens approximated at ${CHARS_PER_TOKEN} chars/token)\n`);const url = `http://127.0.0.1:${port}`;run: node scripts/smoke.mjs "postgres://postgres:postgres@localhost:5432/postgres"
';var apiKey = "sk-abcdefghijklmnopqrstuvwxyz012345";';
.c8rc.json
.prettierignore
.prettierrc.json
createHash('sha1')import { silenceSqliteWarning } from '../../dist/util/warnings.js';import { scanRepository } from '../../dist/graph/scan/index.js';import { refreshGraph } from '../../dist/graph/query/refresh.js';Gates applied: critical_finding, no_behavioural_pass.
0f00ccb3f69bfull audit observations/trust-audit/skill/avijit07x__claude-db.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 0f00ccb3f69b | BLOCK | F | 55 | first audit |
Questions
What does the claude-db skill do?
Free, open-source memory for Claude Code. Your own database, no cloud, no subscription.
Is claude-db safe to install?
No — not without reading the findings first. The audit graded it F (55/100) and found 13 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can claude-db access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does claude-db work with?
Its documentation mentions claude-code and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (0f00ccb3f69b), read on 2026-10-11. The repository is watched, and a new audit runs when it changes — this is the first audit.