Chroma "sqlite3.OperationalError: database is locked"
Workaround available Python, JavaScript, Docker Updated November 15, 2026Based on 2 user reportsHow we research
Quick answer
Several processes are writing to the same SQLite-backed directory. Run a Chroma server and use HttpClient.
Most likely fix: Use a server
How to fix it
Try these in order — the most common fix is first.
1. Use a server
- Install with pip install "chromadb[server]"
- Run chroma run --path ./chroma_data
- Connect from every process with chromadb.HttpClient
Did this fix it?
Symptoms
sqlite3.OperationalError: database is locked when multiple workers use the same persist path.
Why it happens
- Multiple processes (gunicorn workers, notebooks) sharing one PersistentClient path
This guide also covers
- chromadb database is locked
- chroma sqlite locked
- chromadb multiple processes
Still not working?
If Chroma keeps failing, you're not alone. See every Chroma problem users report or the alternatives people switch to.
Have an app idea? Our small team builds any software: web and mobile apps, games, desktop, AI tools. Price agreed together.
Talk to usThe same problem in other apps
Other Chroma errors
- Chroma "Your system has an unsupported version of sqlite3" Error
- Chroma InvalidDimensionException: Embedding Dimension Does Not Match Collection
- Chroma pip install "Failed to build hnswlib" Error
- Chroma Data Disappears After Restart (Persistence Fix)
- Chroma "Collection Not Found" Error
- Chroma "Collection Already Exists" UniqueConstraintError
- Chroma "Could not connect to tenant default_tenant" Error
- Chroma "Cannot return the results in a contiguous 2D array. Probably ef or M is too small"