ChromaDotNet.Local
Chroma on your machine, without Docker and without Python. ChromaLocalServer.StartAsync starts the server of an engine package as a child process on 127.0.0.1, for ChromaDotNet.Client, and stops it with Dispose or when the application ends.
- Latest release 1.5.9.1-preview.6
- NuGet
- GitHub
- Documentation
- Try it in your browser
Engines
- ChromaDotNet.Local.ChromaDB: Chroma 1.5.9, with the executables for Windows x64, Linux x64 and arm64 (glibc 2.28 and later), macOS x64 and arm64, in its runtime packages. With the property
ChromaDotNetLocalChromaDBDownloadset totruein the project, the first start downloads the one of its platform instead.
ChromaDotNet.Local.VecturaDB, the engine for VecturaDB, is not on NuGet yet.
Install
dotnet add package ChromaDotNet.Local.ChromaDB --prerelease It brings the base, ChromaDotNet.Local.
Example
Start Chroma in your application and create a collection:
using ChromaDotNet.Local;
await using var chroma = await ChromaLocalServer.StartAsync(new() { DataPath = "./chroma-data" });
using var client = chroma.CreateClient();
var collection = await client.GetOrCreateCollectionAsync("docs");
Console.WriteLine(collection.Name);Tested on 25 October 2026 with ChromaDotNet.Local.ChromaDB 1.5.9.1-preview.6 on Windows x64.
The GettingStarted sample goes further.