Run two or more Claude Code sessions on the same project without duplicating memory hungry language server processes.
Let an editor and a coding agent share one indexed workspace instead of each starting a separate language server.
Free up gigabytes of RAM on a machine running rust-analyzer, gopls, or similar servers across multiple tools.
| mario/drey | abc3dz/mixxx | abyo-software/ferro-stash | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 3/5 | 2/5 | 4/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Install via brew or cargo, then run drey install to wrap existing language servers.
drey solves a memory problem that shows up when you run more than one coding tool at once. Normally, every editor or AI coding agent starts its own language server, the background process that understands your code and answers questions like what a variable's type is. If you have two Claude Code sessions open on the same Rust project, that means two separate rust-analyzer processes, each holding a full copy of the project's indexed data in memory. The README shows a real measurement of this: two sessions using over 7 gigabytes combined just to answer questions about one codebase. drey fixes this by letting every client share a single language server per workspace instead of each starting its own. Installing drey puts a small wrapper program in front of your existing language servers, named the same as each one, such as rust-analyzer, gopls, tsserver, clangd, pyright, or jdtls. Your editors and agents keep using the same commands they already use, but those commands now go through drey first. Running drey install writes these wrappers and adjusts your shell path automatically, and drey status shows what servers are currently running and which clients are attached to each one. Behind the scenes, drey is one program that plays two roles. It acts as a lightweight stand in that looks like a normal language server to each client, while a background daemon manages the real servers, one per project workspace, starting them the first time they are needed. When a client opens a workspace whose files are already covered by a running server, it attaches to that same server instead of starting a new one. If two clients have different unsaved edits to the same file, drey keeps track of both versions and swaps in the right one before answering each client, so each gets a correct, personalized answer rather than a shared, incorrect one. The project describes itself as early stage: it works and has automated tests, but has mostly been tested against a simplified mock server rather than every real language server it supports. It is released under the Apache License 2.0 by Mario Danic.
A tool that lets multiple editors and AI coding agents share one language server per project instead of each starting its own, saving memory.
Mainly Rust. The stack also includes Rust, LSP.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.