Practical overview
When it fits
Use it when Go code needs to write records to Chroma or retrieve documents from a Chroma collection, and you want a client option for local persistent, HTTP or cloud access.
Who it is for
- Go developers integrating Chroma into backend services or other Go applications.
- Teams building Go ingestion utilities that write records to Chroma collections.
- Developers choosing between an embedded local runtime, a self-hosted HTTP server and Chroma Cloud.
Documented uses
- Create or retrieve a Chroma collection and add text records with IDs.
- Query a collection using text and retrieve matching documents.
- Configure metadata filters, schema and indexes, or tenant and database scope in a Go application.
Requirements & limits
The repository is public and specifies the MIT license. The README documents installation with `go get github.com/amikos-tech/chroma-go`.
- Connection mode: persistent local runtime, self-hosted HTTP, or Chroma Cloud.
- Client/database version: v0.3.x and v0.4.x are compatible with Chroma v1.x; older Chroma versions require older client release lines.
- API version: the V1 API was removed in chroma-go v0.3.0 and later; use a pre-v0.3.0 release when V1 API compatibility is required.
- Persistent mode downloads a shim library on first use and caches it locally.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install the Go client and import its API
Add chroma-go to a Go project and make its v2 API package available for use.
Before you start
- A Go project
Steps
Run the command below.
go get github.com/amikos-tech/chroma-goImport
github.com/amikos-tech/chroma-go/pkg/api/v2in the Go code.
Expected outcome
The project has the library dependency and can reference its v2 API package.
Guide limitations
- This covers dependency installation and importing only; it does not configure a Chroma connection or demonstrate a completed application operation.
Add and query text with a local persistent client
Use the documented persistent-client example to create a collection, add text records and query for a document.
Before you start
- A Go project with chroma-go imported.
- A local path for persistent data; the example uses
./chroma_data.
Steps
Create a client with
NewPersistentClientandWithPersistentPath.Get or create a collection.
Add records with IDs and text using
col.Add.Query with text, request one result, and include documents.
Expected outcome
The example retrieves and prints the first document in the query result.
Guide limitations
- The runtime downloads the required shim library on first use and caches it under
~/.cache/chroma/local_shim. - The v2 API used in the example is not available in chroma-go v0.3.x and later; those releases removed the V1 API, so check the version guidance if V1 API compatibility is required.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- amikos-tech/chroma-go · Official homepage title · retained in its source language

