# Claude-Desktop-Bridge > Built for **Claude Desktop** users. If you only use the standalone `claude` CLI or Claude.ai in a browser, this isn't for you — skip to [Where this works](#where-this-works) for the one exception. ## The problem Claude Desktop's Chat tab and Code tab live in the same app, one click apart. But they don't share a single byte of context. Ask Claude something in Chat, switch to Code to actually build it — Claude in Code has no memory the conversation ever happened. Spend an hour in Code working through a decision, hop to Chat to think out loud about what's next — Chat starts from zero. Two tabs, one window, and no connection between them at all. So close, yet so far. The workaround is re-explaining yourself every time you switch tabs — burning tokens and patience re-deriving context that existed ten seconds ago, one tab over. ## The solution Claude-Desktop-Bridge is a small local MCP server, installed once into Claude Desktop, that gives Chat and Code a shared, persistent knowledge vault. Save a note while working in Code, read it back in Chat five minutes later. Research something in Chat, recall it in Code without repeating yourself. It's deliberately not a context dump. Instead of pasting whole documents or files into the conversation, Claude gets five narrow tools — save, retrieve, search, update, delete — so it pulls in only what's actually relevant, on demand, instead of loading everything every time. | Tool | Description | |---|---| | `save_note` | Save a new note (title, content, optional tags, optional project) | | `get_notes` | Retrieve notes by id, tags, or project, most recent first | | `search_notes` | Full-text search over note titles and content | | `update_note` | Update an existing note's title, content, tags, or project | | `delete_note` | Permanently delete a note by id | Notes can be tagged with an optional `project` field, so if you work across multiple codebases, the vault doesn't turn into one undifferentiated pile — each project's notes can be filtered independently. ## Install 1. Download `claude-desktop-bridge.mcpb` from [Releases](https://github.com/KiMiGuel/Indepentest-CDB/releases/latest). 2. Drag it onto the Claude Desktop window — or Settings → Extensions → Advanced settings → Install Extension… 3. That's it. No configuration screen, nothing to fill in. The vault lives at `~/.claude-bridge/vault.db`. ## Use it Once installed, just talk normally in either tab — Claude calls `save_note`, `get_notes`, `search_notes`, etc. on its own when it's useful, the same way it uses any other tool. You don't invoke anything manually. A few things worth knowing: - **It's proactive, not automatic-automatic.** Claude decides when something's worth saving or worth searching for — it's not logging every message. If you want something remembered, it helps to say so ("remember this for later"). - **Tag by project if you work across multiple codebases.** Ask Claude to filter by `project` when recalling notes, so a search in one repo's context doesn't surface notes from an unrelated one. - **Chat tab "Projects" (claude.ai-style, with Custom Instructions) don't auto-link to a Code tab folder.** There's no protocol-level way for Chat to know which codebase it corresponds to. If you want a Chat Project to stay in sync with a specific repo's notes, say so explicitly in that Project's Custom Instructions — e.g. "This project corresponds to the `my-repo` codebase; use Claude-Desktop-Bridge with `project: 'my-repo'`." ## Where this works | Surface | Works out of the box? | |---|---| | Claude Desktop — Chat tab | ✅ Yes | | Claude Desktop — Code tab (local sessions) | ✅ Yes | | Standalone `claude` CLI (terminal, Desktop not required) | ⚠️ Needs one extra step | | Claude Code on the Web / cloud sessions | ❌ Not available (local-only server, no filesystem/network access from the cloud) | Chat and the Desktop Code tab both connect through the same install automatically — nothing extra to configure there. The **standalone terminal CLI** (`claude` run directly, without the Desktop app open) doesn't read Desktop's extension config, so it won't see Claude-Desktop-Bridge unless you register it explicitly: ```bash # macOS or WSL — imports every MCP server Desktop has configured claude mcp add-from-claude-desktop # Any platform, including Linux — register Claude-Desktop-Bridge directly, # pointed at this repo's built server: claude mcp add --scope user claude-desktop-bridge -- node /path/to/claude-desktop-bridge/server/index.js ``` `--scope user` makes it available in every terminal project, not just the one you ran the command from. Once added, `claude mcp list` should show `claude-desktop-bridge` connected — and it reads from the same `~/.claude-bridge/vault.db` the Desktop extension uses, so notes saved from the terminal and notes saved from Desktop are the same vault. > **Want notes to cost fewer tokens?** [cdb-companion](https://github.com/KiMiGuel/indepentest-skills/tree/main/cdb-companion) is a small companion skill that compresses content before it hits `save_note`/`update_note` — drop it alongside this extension for a leaner vault. ## Building from source ```bash npm install npm run build # bundles src/index.ts -> server/index.js npm run pack # produces claude-desktop-bridge.mcpb ``` Requires Node.js 22+ (for the built-in `node:sqlite` module). Claude Desktop's own built-in Node.js runtime is used automatically when the installed extension runs — end users don't need Node installed separately. ## Privacy Policy Claude-Desktop-Bridge runs entirely on your own machine and makes no network requests. - **Data collection**: Claude-Desktop-Bridge does not collect any data. No analytics, telemetry, or crash reporting of any kind. - **Usage and storage**: Notes you save (titles, content, tags, and project labels) are stored exclusively in a local SQLite database at `~/.claude-bridge/vault.db` on the device where the extension is installed. - **Third-party sharing**: No data is ever transmitted anywhere. Claude-Desktop-Bridge has no server component and makes no outbound network connections. - **Data retention**: Notes persist in the local database until you delete them (via the `delete_note` tool) or delete the database file yourself. Uninstalling the extension does not delete the database file. - **Contact**: For questions about this policy, open an issue on this repository. ## License MIT