mem0ai/mem0 · error · ValueError
Unsupported VectorStore provider: {provider_name}
Error message
Unsupported VectorStore provider: {provider_name} What it means
Thrown by VectorStoreFactory.create when provider_name is not a key in its provider_to_class mapping. Mem0 registers 26 vector store keys (qdrant, chroma, pgvector, milvus, upstash_vector, azure_ai_search, azure_mysql, pinecone, mongodb, redis, valkey, databricks, elasticsearch, vertex_ai_vector_search, opensearch, supabase, weaviate, faiss, langchain, s3_vectors, baidu, cassandra, neptune, turbopuffer, oracledb) and rejects everything else.
Source
Thrown at mem0/utils/factory.py:218
"langchain": "mem0.vector_stores.langchain.Langchain",
"s3_vectors": "mem0.vector_stores.s3_vectors.S3Vectors",
"baidu": "mem0.vector_stores.baidu.BaiduDB",
"cassandra": "mem0.vector_stores.cassandra.CassandraDB",
"neptune": "mem0.vector_stores.neptune_analytics.NeptuneAnalyticsVector",
"turbopuffer": "mem0.vector_stores.turbopuffer.TurbopufferDB",
"oracledb": "mem0.vector_stores.oracledb.OracleAIVectorSearch",
}
@classmethod
def create(cls, provider_name, config):
class_type = cls.provider_to_class.get(provider_name)
if class_type:
if not isinstance(config, dict):
config = config.model_dump()
vector_store_instance = load_class(class_type)
return vector_store_instance(**config)
else:
raise ValueError(f"Unsupported VectorStore provider: {provider_name}")
@classmethod
def reset(cls, instance):
instance.reset()
return instance
class RerankerFactory:
"""
Factory for creating reranker instances with appropriate configurations.
Supports provider-specific configs following the same pattern as other factories.
"""
# Provider mappings with their config classes
provider_to_class = {
"cohere": ("mem0.reranker.cohere_reranker.CohereReranker", CohereRerankerConfig),
"sentence_transformer": (
"mem0.reranker.sentence_transformer_reranker.SentenceTransformerReranker",View on GitHub (pinned to 001c235229)
Solutions
- Set vector_store.provider to an exact key of VectorStoreFactory.provider_to_class (print it at runtime if unsure)
- Use 'pgvector' for Postgres, 'azure_ai_search' for Azure AI Search, 'vertex_ai_vector_search' for Vertex AI
- For unlisted backends, route through the 'langchain' vector store provider
- Verify the key exists in your installed mem0 version — new stores are added over releases
Example fix
// before
config = {"vector_store": {"provider": "postgres", "config": {...}}}
Memory.from_config(config)
# after
config = {"vector_store": {"provider": "pgvector", "config": {...}}}
Memory.from_config(config) Defensive patterns
Strategy: validation
Validate before calling
from mem0.utils.factory import VectorStoreFactory
provider = cfg['vector_store']['provider']
if provider not in VectorStoreFactory.provider_to_class:
raise ConfigError(f"unknown vector store {provider!r}; valid: {sorted(VectorStoreFactory.provider_to_class)}") Type guard
def is_known_vector_store(p: str) -> bool:
from mem0.utils.factory import VectorStoreFactory
return isinstance(p, str) and p in VectorStoreFactory.provider_to_class Try / catch
try:
memory = Memory.from_config(config)
except ValueError as e:
if 'Unsupported VectorStore provider' in str(e):
raise ConfigError(str(e)) from e
raise Prevention
- Use exact registry keys: 'pgvector' not 'postgres', 'azure_ai_search' not 'azure_search'
- Validate provider key against VectorStoreFactory.provider_to_class in config loading
- Add a unit test that your shipped config parses with the mem0 version in the lockfile
When it happens
Trigger: Setting vector_store.provider to 'postgres' instead of 'pgvector'; using 'azure_search' instead of 'azure_ai_search'; using 'vertexai' instead of 'vertex_ai_vector_search'; using 'elastic' instead of 'elasticsearch'; using 'memory' or 'in_memory' instead of a real backend; calling VectorStoreFactory.create directly with a class name instead of the registry key.
Common situations: Config copied from an older mem0 version where a key was renamed; assuming the vector store name matches the product's marketing name; mixing up embedder keys ('vertexai') with vector store keys ('vertex_ai_vector_search').
Related errors
- Unsupported vector store provider: ${provider}
- Baidu vector store requires a non-empty '${name}' config val
- Extra fields not allowed: {', '.join(extra_fields)}. Please
- Invalid compression_type: {values['compression_type']}. Must
- Invalid collection_name: {v!r}. Must start with a letter or
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/e22d065b72862b2b.
Report an issue: GitHub.