AI Tool Review · 2026

Chroma Review (2026): Features, Pricing & Verdict

Chroma is the vector database that wins the first five minutes — and, for a large share of teams, that is the five minutes that decides everything. An open-source embedding database designed to be the easiest way to add vector search to a Python application: run pip install chromadb, create a collection, add documents with embeddings, and query — that is the entire setup, no Docker containers, no configuration files, no separate server process, running in-process alongside your Python code, ideal for prototyping RAG pipelines, building demos and running experiments in Jupyter notebooks. That radical simplicity made it the category’s default on-ramp: LangChain integration is first-class, making Chroma the default vector store for many LLM tutorials, and it is embedding-agnostic — by default it uses a local all-MiniLM-L6-v2 model, but you can swap in OpenAI’s text-embedding-3-small, Cohere’s models, any sentence-transformers model, or pass raw vectors directly. The 2026 story is a deliberate expansion beyond the notebook: Chroma released cloud hosting in Q1 2026 — a serverless, distributed managed architecture, and the product now bills itself as the open-source search infrastructure for AI: fast, serverless and scalable, supporting vector, full-text, regex and metadata search, built on object storage and trusted by millions of developers, with hybrid retrieval combining vector similarity, BM25, SPLADE and regex in a single database. Chroma Cloud spans a Starter plan ($0/month + usage), a Team plan ($250/month + usage) and Enterprise custom pricing. The honest counterweight the whole field agrees on: Chroma isn’t built for massive scale — query performance degrades on very large datasets (10M+ vectors) compared to Pinecone or Weaviate, and the community consensus is to use Chroma for new RAG projects and prototypes, planning a migration path to Qdrant or pgvector once filtering requirements grow or dataset size crosses a few million records. This review prices the developer’s favourite.

7.8
Overall Score / 10
The simplicity champion — the fastest on-ramp to vector search in the category and the RAG-prototyping default, now growing a serverless cloud; docked for a real scale ceiling and a “plan to migrate” reputation
Best for
Developers who want vector search working in minutes — RAG prototypes, demos, Jupyter experiments and small-to-mid production apps under a few million vectors, especially teams already in the LangChain/LlamaIndex Python ecosystem who value developer experience over raw scale
Platform
Open-source (Apache 2.0) embedding database: embedded in-process mode plus client-server mode, Python/TypeScript/Rust clients, vector + full-text (BM25/SPLADE) + regex + metadata hybrid search, any embedding model, first-class LangChain/LlamaIndex/OpenAI integration, MCP and Package Search; plus Chroma Cloud — serverless, object-storage-tiered managed hosting with SOC 2 Type II
Key differentiator
The category’s lowest barrier to entry — one pip install and three lines of code to a working vector store, with zero infrastructure — now paired with a serverless cloud that carries that same simplicity from the notebook into production without re-architecting
Pricing
Self-hosted free (Apache 2.0, embedded runs in-process at zero cost); Chroma Cloud Starter $0/month + usage ($5 free credits, free tier up to ~1M embeddings, SOC 2 Type II); Team $250/month + usage; Enterprise custom; object storage ~$0.02/GB/month, usage-based
Vendor
Chroma (trychroma.com) — the open-source AI search-infrastructure company behind ChromaDB and Chroma Cloud
Platform notes (2026): four buying realities. Simplicity is the entire pitch: pip install, create a collection, query — no Docker, no config, no server is a genuinely shorter path than any rival in this run, and for prototyping it is decisive. Know the scale ceiling before you commit: query performance degrades on very large datasets (10M+ vectors), so you may need to shard or upgrade infrastructure earlier than with Pinecone or Weaviate — plan the exit before you hit it. The cloud is young: Chroma Cloud launched in Q1 2026 and is still relatively new compared to Pinecone’s mature managed service, though actively developing — and pricing is still evolving, so lock in rates if you can. Self-hosted is not production-complete: self-hosted Chroma doesn’t include backups, monitoring or high availability out of the box — you set those up yourself, which is the real cost behind the “free” label for production use.

What Is Chroma?

Chroma is what a vector database looks like when the design brief is “make the first RAG pipeline trivial” rather than “scale to billions” or “minimise the bill at volume” — and within that brief it is, by broad consensus, the best in the category. The foundational choice is embedded operation: Chroma runs in-process alongside your Python code, so pip install chromadb, create a collection, add documents, and query is the entire setup — no Docker containers, no configuration files, no separate server process, which eliminates the single biggest friction point every other tool in this run imposes (a server to stand up, a connection to configure, credentials to manage) and makes it ideal for prototyping RAG pipelines, building demos and running experiments in Jupyter notebooks. That decision cascades into its whole identity. It is embedding-agnostic by design — Chroma works with any embedding model; by default it uses a local all-MiniLM-L6-v2 model for automatic embedding, but you can swap in OpenAI’s text-embedding-3-small, Cohere’s embed models, or any sentence-transformers model, or generate embeddings yourself and pass raw vectors directly; Chroma doesn’t care where the vectors come from — which pairs it naturally with the embedding specialists this series reviewed earlier and lets teams start with the free local model and upgrade later. And it is ecosystem-native: LangChain integration is first-class, making Chroma the default vector store for many LLM tutorials, with seamless LangChain, LlamaIndex and OpenAI integration making it the default choice for RAG applications — a network effect that compounds, because every tutorial that reaches for Chroma teaches the next developer to reach for it too. The 2026 evolution is the interesting part, because it is Chroma trying to grow a production ceiling without losing the on-ramp that made it famous. The product has widened from “embedding database” to the open-source search infrastructure for AI — fast, serverless and scalable, supporting vector, full-text, regex and metadata search, built on object storage and trusted by millions of developers: hybrid retrieval now combines state-of-the-art vector similarity search with BM25, SPLADE and regex search in a single database (answering the “no hybrid search” gap earlier versions carried), and the platform has grown agent-era surfaces — automatically crawling, scraping, chunking and embedding web pages or GitHub repos into instant searchable knowledge bases, querying thousands of open-source repos, and integrating with AI agents through the Model Context Protocol. The centrepiece is Chroma Cloud: a managed hosting option providing serverless, distributed architecture so you don’t run Chroma on your own infrastructure, launched in Q1 2026, built — like Pinecone’s serverless and Milvus’s Lakebase — on object-storage economics: Chroma takes full advantage of object storage with automatic query-aware data tiering and caching, because vectors are large (1GB text becomes 15GB of vectors), memory is expensive at $5/GB/month, and object storage is not, at $0.02/GB/month. Clients now span Python, TypeScript and Rust, and both cloud tiers deliver warm query latency of p50 20ms and p99 57ms at 384 dimensions across 100K vectors, with write throughput up to 30 MB/s per collection, plus SOC 2 Type II compliance. The honest market read is that this expansion is real but incomplete: production practitioners describe Chroma as genuinely production-ready despite its dev-tool reputation, with a single 4–8GB VPS handling millions of embeddings comfortably, yet its mindshare has declined year-over-year as pgvector absorbs teams that prefer staying on a single service, and the standing recommendation remains Chroma for new RAG projects and prototypes, with a planned migration path to Qdrant or pgvector once filtering requirements grow or the dataset crosses a few million records. Within our Model Providers & AI Infrastructure category, Chroma is the entry point to the vector run — the tool you reach for first, and the one whose ceiling you should understand before you build your whole system on it.

Core Features

The simplicity that defined the category: embedded mode and developer experience

Chroma’s developer experience is the feature, and it deserves treatment as such because it is the one dimension on which Chroma beats every other tool in this run outright. The mechanism is embedded operation: where Pinecone requires an account and an API, Qdrant a running server, and Milvus a cluster, Chroma requires pip install chromadb and three lines of code — create a collection, add documents with embeddings, query — with no Docker, no configuration files and no separate server process, running in-process alongside your Python code. The consequences are larger than they first appear. For prototyping, the entire ceremony of infrastructure disappears, so the time from “I want to try RAG” to “I have a working retrieval pipeline” collapses to minutes — which is why it is ideal for prototyping RAG pipelines, building demos and running experiments in Jupyter notebooks and why the LLM-tutorial ecosystem standardised on it. For latency, embedded mode has a structural advantage the networked databases cannot match: the embedded mode eliminates network latency for local development and prototyping, because the “database” is a library call, not a round trip. And for onboarding cost, the embedding-agnostic default means you need nothing else to start — the built-in local all-MiniLM-L6-v2 model embeds documents automatically, so a developer with no API keys and no external services can have semantic search running before they have decided which embedding provider to use, then swap in OpenAI, Cohere or any sentence-transformers model, or pass raw vectors once they do. The production extension of the same design is client-server mode: for production use, Chroma also runs as a standalone server (client-server mode), so the same API that served the notebook serves a deployed application — a smaller version of the prototype-to-production continuity that Milvus offers across its deployment tiers. The honest boundary this review’s callout flags is that embedded simplicity has a production cost the “free” framing hides: embedded mode is free but shares memory with your application, so for anything beyond 100K vectors you’ll want dedicated infrastructure, which means server costs, and self-hosted Chroma doesn’t include backups, monitoring or high availability out of the box. The synthesis: Chroma’s simplicity is not a marketing claim but a genuine architectural achievement, and for the enormous population of developers whose first question is “how do I get vector search working right now?”, it is the correct and often decisive answer — the caveats arrive later, at scale, which is exactly where the next section and the rest of this run take over.

From embedding database to search infrastructure: hybrid search, the cloud and object-storage economics

Chroma’s 2026 releases are an attempt to convert a beloved prototyping tool into production search infrastructure, and the additions are substantive even where the ceiling remains real. The search-capability expansion is the clearest: earlier Chroma was pure vector search, and the honest 2026 criticism was that it lacked hybrid retrieval, but the current product combines state-of-the-art vector similarity search with BM25, SPLADE and regex search in a single database, with the platform now supporting vector, full-text, regex and metadata search — closing the gap this series has repeatedly flagged, where pure vector search fumbles exact identifiers and keyword-precise queries that lexical BM25 handles, and adding SPLADE (learned sparse retrieval) puts Chroma ahead of some rivals on retrieval sophistication rather than behind. The agent-era surfaces are a genuine differentiator: Chroma can automatically crawl, scrape, chunk and embed web pages or GitHub repos into instant searchable knowledge bases, query thousands of open-source repos, and integrate with AI agents through the Model Context Protocol — the Package Search and MCP capabilities that make Chroma unusually well-suited to the code-aware, agent-driven retrieval this checklist’s audience increasingly builds. The strategic centrepiece is Chroma Cloud, and its architecture mirrors the object-storage thesis that Pinecone and Milvus also adopted: a serverless, distributed managed architecture, launched in Q1 2026, built on the economic observation that vectors are large (1GB of text becomes 15GB of vectors), memory is expensive at $5/GB/month and object storage is cheap at $0.02/GB/month, so Chroma takes full advantage of object storage with automatic query-aware data tiering and caching — hot vectors cached fast, cold vectors resting cheap, the same tiering discipline this run has now seen three times, delivering auto-scaling with usage, no manual tuning and serverless pricing. The managed offering brings production-grade properties the open-source version lacks — serverless vector search with auto-scaling and SOC 2 Type II compliance, and measured performance of p50 20ms / p99 57ms warm query latency at 384 dimensions across 100K vectors with write throughput up to 30 MB/s per collection — and it removes the operational gaps (backups, monitoring, HA) that make self-hosted Chroma incomplete for production. The two-sided reading this review must hold: the direction is right and the additions are real — hybrid search, MCP, a serverless cloud on sound economics genuinely raise Chroma’s production ceiling — but the cloud is still relatively new compared to Pinecone’s mature managed service, its pricing is still evolving, and none of it repeals the scale limit the next section addresses; Chroma in 2026 is a more capable production option than its dev-tool reputation suggests, and still not the tool you choose when billions of vectors or extreme throughput is the requirement.

The scale ceiling and the honest migration question

The defining limitation of Chroma is one the entire field states openly, and a review that buried it would be doing its readers a disservice: Chroma is optimised for developer experience at small-to-mid scale, and it has a real ceiling. The performance boundary is specific — Chroma’s query performance degrades on very large datasets (10M+ vectors) compared to Pinecone or Weaviate, so you may need to shard or upgrade infrastructure earlier — and the vendor is candid that this reflects scope rather than immaturity: the earlier honest summary was that Chroma’s tradeoffs (limited scale-out, historically no hybrid search, no native multi-tenancy, HA not part of the open-source offering) were not bugs but scope decisions — Chroma optimised for developer experience and getting started fast, and production features at massive scale weren’t the primary goal, at least not yet. The community’s operational guidance is correspondingly clear and worth adopting as-is: the 2026 consensus is Chroma for new RAG projects and prototypes, but plan a migration path to Qdrant or pgvector once filtering requirements grow or dataset size crosses a few million records, and the competitive pressure is visible in the numbers — Chroma’s mindshare has declined from 15.6% to 13.4% year-over-year as pgvector absorbs teams that prefer staying on a single service. That pgvector pressure is the specific strategic threat this series will examine in its own right shortly: for the large population of teams already running PostgreSQL, keeping vectors in the same database they already operate is simpler than adopting any dedicated vector store, Chroma included. The counter-evidence is worth equal weight, because the “just a dev tool” framing understates Chroma at the mid-scale it actually targets: production practitioners across legal AI, financial compliance and educational products describe Chroma as genuinely production-ready despite its dev-tool reputation, with a single 4–8GB VPS handling millions of embeddings comfortably, and Chroma Cloud’s serverless architecture is a direct attempt to extend that ceiling with managed tiering and auto-scaling. The honest synthesis this review carries into its verdict: Chroma’s scope is a feature for the majority of projects that never cross a few million vectors and a limitation for the minority that do, and the mature engineering decision is to know which you are before you build — start on Chroma for the unmatched on-ramp, monitor your vector count and filtering complexity as leading indicators, and treat the migration path to Qdrant, pgvector or another scale-oriented store not as a failure but as a planned graduation the whole field expects; the tools this run reviews on either side of Chroma exist precisely for the workloads that outgrow it.

Scored Categories

Developer experience & simplicity (pip install, embedded, three-line setup — the category benchmark)

9.4

Prototyping & RAG on-ramp (LangChain/LlamaIndex default, any embedding model, notebook-native)

9.0

Openness & portability (Apache 2.0, embedded + server + cloud, Python/TypeScript/Rust clients)

8.6

Ecosystem & integrations (first-class LangChain, MCP, Package Search, millions of developers)

8.2

Search breadth 2026 (vector + BM25 + SPLADE + regex + metadata hybrid in one database)

8.0

Chroma Cloud & serverless economics (object-storage tiering at $0.02/GB, usage-based, SOC 2 — but young)

7.8

Production readiness (OSS lacks backups/monitoring/HA; managed cloud still maturing)

6.4

Scale ceiling (degrades beyond 10M vectors; “plan to migrate” consensus; mindshare slipping to pgvector)

5.0

Pricing

Tier / item Price Notes
Self-hosted (open source) Free — Apache 2.0 Genuinely free, embedded mode runs directly in your Python process at zero cost; also via npm and Docker; no backups/monitoring/HA included
Chroma Cloud — Starter $0/month + usage Free plan plus usage; $5 in free credits to start, free tier up to ~1M embeddings; serverless, auto-scaling, SOC 2 Type II
Chroma Cloud — Team $250/month + usage Adds collaboration features and higher limits; the growth-stage default
Chroma Cloud — Enterprise Custom Enterprise custom pricing — advanced controls, support and scale negotiated
Object storage ~$0.02 / GB / month Object storage is cheap ($0.02/GB/mo) versus memory ($5/GB/mo); query-aware tiering keeps storage predictable into terabytes
Dedicated infra (self-host) Server costs Beyond 100K vectors you’ll want dedicated infrastructure, which means compute, storage and monitoring costs you provide
The scale-fit rule ~few-million-vector threshold Best for new RAG projects and prototypes; plan migration to Qdrant or pgvector past a few million records or as filtering grows
Chroma budgeting runs on three rules. “Free” has a production asterisk: embedded open-source Chroma is genuinely zero-cost, but beyond 100K vectors you want dedicated infrastructure, and self-hosted Chroma includes no backups, monitoring or high availability — for production, budget the server and ops costs the label hides, or let Chroma Cloud absorb them. The cloud economics are object-storage economics: at $0.02/GB/month object storage against $5/GB/month memory, with automatic query-aware tiering, storage stays cheap as collections grow — the usage-based Starter tier and $5 credits make validation free. Lock rates and watch the ceiling: Chroma Cloud pricing is still evolving, so lock in rates if you can, and treat vector count and filtering complexity as the leading indicators for when the planned migration to a scale-oriented store becomes due. Verify current rates at trychroma.com; cloud pricing is usage-based and still maturing.

Strengths

  • The category’s simplest on-ramp — pip install and three lines to a working vector store
  • Embedded mode eliminates network latency and infrastructure for local development
  • Embedding-agnostic — free local model by default, swap OpenAI/Cohere/any model or pass raw vectors
  • First-class LangChain/LlamaIndex integration — the RAG-tutorial default, millions of developers
  • 2026 hybrid search: vector + BM25 + SPLADE + regex + metadata in one database
  • Agent-era surfaces: MCP integration, Package Search, auto-crawl of web pages and GitHub repos
  • Chroma Cloud brings serverless, object-storage tiering and SOC 2 Type II without ops
  • Apache 2.0, with Python/TypeScript/Rust clients and a genuinely free embedded tier

Weaknesses

  • Real scale ceiling — query performance degrades beyond 10M+ vectors versus Pinecone/Weaviate
  • The field’s standing advice is to plan a migration to Qdrant or pgvector past a few million records
  • Self-hosted lacks backups, monitoring and high availability out of the box
  • Embedded mode shares memory with your app — dedicated infra needed past ~100K vectors
  • Chroma Cloud is young versus Pinecone’s mature managed service, and pricing is still evolving
  • Mindshare is slipping year-over-year as pgvector absorbs single-service teams
  • No native multi-tenancy; distributed scale-out is not its design centre
  • Best as a starting point rather than a permanent home for large or fast-growing workloads

Verdict: 7.8 / 10 — The Simplicity Champion

Chroma earns a 7.8 as the vector database that wins the beginning — the fastest, friendliest on-ramp to vector search in the entire category, and the one most teams should reach for first. Its developer experience is a genuine architectural achievement rather than a slogan: pip install and three lines of code to a working, embedded, network-latency-free vector store, embedding-agnostic from a free local model upward, and so thoroughly the RAG-tutorial default that the LangChain ecosystem taught a generation of developers to reach for it. The 2026 expansion is real and raises the ceiling meaningfully — hybrid search across vector, BM25, SPLADE and regex closes the retrieval gap earlier versions carried, MCP and Package Search make it unusually agent- and code-aware, and Chroma Cloud brings serverless object-storage economics, auto-scaling and SOC 2 Type II to teams that want the simplicity without the operations. The deductions are the ones the whole field states openly and this review will not soften: a real scale ceiling where query performance degrades beyond ten million vectors, a standing community recommendation to plan a migration to Qdrant or pgvector as datasets and filtering grow, an open-source tier that omits the backups, monitoring and high availability production demands, a managed cloud still young against Pinecone’s maturity, and slipping mindshare as pgvector absorbs teams who would rather not add a service at all. The buying logic is the clearest in this run precisely because the scope is the clearest: if you are prototyping RAG, building a demo, or shipping a small-to-mid application under a few million vectors — especially in the LangChain/LlamaIndex Python world — Chroma is the correct first choice and often a sufficient permanent one, with a single modest VPS documented to carry millions of embeddings; validate on the free embedded tier or Chroma Cloud’s $5 credits, and treat vector count and filtering complexity as the signals for when a planned graduation becomes due. If your trajectory points at tens of millions of vectors, extreme throughput or multi-datacentre availability, start knowing the exit, or start elsewhere — the scale-oriented tools this run reviews on either side exist for exactly that. Pinecone made vector search effortless to operate and Milvus made it limitless to scale — Chroma makes it effortless to begin, and for the enormous number of projects that live and thrive at small-to-mid scale, that beginning is most of the battle.

Frequently Asked Questions

Is Chroma production-ready, or just a prototyping tool?

Both framings are half-right, and the honest answer depends entirely on your scale — Chroma is genuinely production-ready within its scope and genuinely unsuitable beyond it, and knowing which side of that line you’re on is the whole decision. The “just a prototyping tool” reputation comes from its origins and its embedded-first design: Chroma runs in-process alongside your Python code, ideal for prototyping RAG pipelines, building demos and running experiments in Jupyter notebooks, and it became famous as the default vector store for many LLM tutorials — a reputation as the tool you start with. But the 2026 evidence contradicts the dismissive reading at mid-scale: production practitioners across legal AI, financial compliance and educational products describe Chroma as genuinely production-ready despite its dev-tool reputation, with a single 4–8GB VPS handling millions of embeddings comfortably, and Chroma Cloud adds the production properties the open-source version lacks — serverless auto-scaling and SOC 2 Type II compliance with measured p50 20ms / p99 57ms warm query latency at 100K vectors. Where it stops being production-ready is scale and operational completeness: query performance degrades on very large datasets (10M+ vectors) compared to Pinecone or Weaviate, and self-hosted Chroma doesn’t include backups, monitoring or high availability out of the box, so a production deployment either uses Chroma Cloud (which supplies those) or budgets the engineering to build them. The vendor’s own framing is the fairest: the historical gaps were not bugs but scope decisions — Chroma optimised for developer experience and getting started fast, and production features at massive scale weren’t the primary goal. The practical rule: for RAG applications, internal tools, and products whose vector counts stay under a few million, Chroma is production-ready today — use Chroma Cloud for the managed operational properties, or self-host with your own backups and monitoring; for workloads heading toward tens of millions of vectors, high throughput or strict HA requirements, Chroma is a starting point rather than a destination, and the mature approach is to plan the migration path to Qdrant or pgvector before you need it rather than after you hit the wall.

Chroma vs Pinecone vs pgvector — which should I use for a RAG project?

These three are the most common starting points for a new RAG project, and they optimise for genuinely different things, so the choice follows from what you already run and where you’re heading. Chroma optimises for the fastest possible start: pip install chromadb and three lines of code — no Docker, no config, no server, embedded in your Python process, the default vector store for many LLM tutorials — so if you’re building a RAG prototype or a small-to-mid application and want to be querying within minutes, especially in the LangChain/LlamaIndex ecosystem, Chroma is the shortest path, with the caveat that you should plan a migration once your dataset crosses a few million records or filtering grows complex. Pinecone optimises for zero-operations managed scale: it’s the fully managed serverless incumbent with a mature platform, the right choice when you want someone else to run the database entirely, need proven scale and SLAs, and are willing to pay for the abstraction — its cloud is more mature than Chroma’s newer offering, and it scales past the point where Chroma’s performance degrades. pgvector optimises for architectural simplicity of a different kind — not the simplest API but the fewest moving parts: it adds vector search to the PostgreSQL database you already run, so documents and embeddings live in the same table, queried with SQL, with no sync pipeline, no extra credentials and no new service to monitor, which is why it’s absorbing teams that prefer staying on a single service and why Chroma’s mindshare is slipping toward it; for backend teams already on PostgreSQL whose vector search is one feature among many rather than the core workload, pgvector is often the right call. The decision rule: if vector search is your focus and you want the best developer experience for prototyping and mid-scale RAG, Chroma; if you want fully managed, proven scale with the least operational involvement, Pinecone; if you already run PostgreSQL and would rather not add a service at all, pgvector (which this series reviews shortly). Two honest complications: all three have free tiers, so prototyping on the one that fits your stack costs nothing; and the choice is not permanent — Chroma’s own field guidance assumes some projects will graduate to a scale-oriented store, so starting on the simplest option that works and migrating when your scale demands it is a legitimate and common strategy, not a planning failure.

What did Chroma Cloud change, and do I still need to self-host?

Chroma Cloud is the 2026 development that reshapes the Chroma decision, because it removes the operational gaps that made self-hosted Chroma incomplete for production — and for most teams it means you no longer need to self-host unless you specifically want to. What it is: a managed hosting option providing serverless, distributed architecture so you don’t have to run Chroma on your own infrastructure, launched in Q1 2026, built on object-storage economics — automatic query-aware data tiering and caching, because vectors are large, memory is expensive at $5/GB/month, and object storage is cheap at $0.02/GB/month — delivering auto-scaling with usage, no manual tuning and serverless pricing. What it changes relative to self-hosting: the open-source version’s honest weakness is that self-hosted Chroma doesn’t include backups, monitoring or high availability out of the box, and beyond 100K vectors you want dedicated infrastructure — meaning the “free” self-hosted path carries real hidden costs (servers, ops, the missing production properties) once you leave prototyping; Chroma Cloud supplies exactly those, adding serverless vector search, auto-scaling and SOC 2 Type II compliance with the tiering that keeps storage cheap as collections grow, so the operational burden and the missing HA/backup/monitoring gaps are handled for you. When you still self-host: when you need the embedded, zero-network-latency mode for local development (which remains the free, in-process experience Chroma is loved for); when data-residency or air-gap requirements demand the database run in your own environment; when you have a specific cost or control reason and the team to operate it; or simply during development, where the free embedded tier is the fastest way to build. The honest caveats on the cloud: it is still relatively new compared to Pinecone’s mature managed service, though actively developing, and its pricing is still evolving, so lock in rates if you can — so pilot it, validate on the $5 free credits and usage-based Starter tier, and confirm current terms before committing production spend. The practical guidance: develop locally on embedded open-source Chroma for the unmatched on-ramp, then deploy to Chroma Cloud for production to get the managed operational properties without building them — reserving self-hosted production for the residency, air-gap or deep-control cases that genuinely require it, and remembering that neither path removes the scale ceiling, so a workload heading past a few million vectors still faces the same planned migration question regardless of how it’s hosted.