mem0ai/mem0 · error · Error
Databricks vector store requires either workspaceUrl or host
Error message
Databricks vector store requires either workspaceUrl or host.
What it means
extractHostAndWorkspaceUrl() derives the workspace URL used for every Management/Vector Search API call. It first tries config.workspaceUrl, then config.host, and throws if neither is set — the store has no endpoint to talk to.
Source
Thrown at mem0-ts/src/oss/src/vector_stores/databricks.ts:116
host: string;
workspaceUrl: string;
} {
if (config.workspaceUrl) {
const url = new URL(config.workspaceUrl);
return {
host: url.host,
workspaceUrl: `${url.protocol}//${url.host}`,
};
}
if (config.host) {
return {
host: config.host,
workspaceUrl: `https://${config.host}`,
};
}
throw new Error(
"Databricks vector store requires either workspaceUrl or host.",
);
}
// `Memory.search()` hands keywordSearch() an already-lemmatized query, so BM25 has to score
// against lemmatized text. Same contract as baidu.ts / pgvector.ts.
function lemmatizedText(payload: Record<string, any>): string {
const data = typeof payload.data === "string" ? payload.data : "";
return typeof payload.textLemmatized === "string" &&
payload.textLemmatized.length > 0
? payload.textLemmatized
: data;
}
function formatSqlValue(value: any): string {
if (value === null || value === undefined) {
return "NULL";
}View on GitHub (pinned to 001c235229)
Solutions
- Set host: 'adb-1234567890123456.7.azuredatabricks.net' (or your cloud's equivalent) in the vector store config
- Or set workspaceUrl: 'https://adb-....azuredatabricks.net' — both forms are accepted
- If config comes from env, ensure the variable is present and fail config loading early when it is missing
Example fix
// before
new Databricks({ accessToken, catalog: 'main', schema: 'default' });
// after
new Databricks({
host: 'adb-1234567890123456.7.azuredatabricks.net',
accessToken,
catalog: 'main',
schema: 'default',
}); Defensive patterns
Strategy: validation
Validate before calling
if (!cfg.workspaceUrl && !cfg.host) {
throw new Error('Databricks config requires workspaceUrl or host');
} Type guard
const hasDatabricksHost = (c: any): boolean => Boolean(c?.workspaceUrl || c?.host);
Prevention
- Make host a required field in a zod schema for the config object
- Fail startup when DATABRICKS_HOST is unset rather than passing undefined
When it happens
Trigger: Constructing the Databricks vector store with neither workspaceUrl nor host in the config, e.g. both left undefined because the env vars were not read (DATABRICKS_HOST unset).
Common situations: Missing DATABRICKS_HOST / DATABRICKS_URL in the deployment environment; passing the host inside an auth sub-object or wrong key ('serverUrl', 'workspace'); config built from a partial env where the key is optional and skipped.
Related errors
- Unsupported vector store provider: ${provider}
- Cassandra vector store requires contactPoints when secureCon
- Cassandra vector store requires localDataCenter when secureC
- Invalid ${label} '${name}': only letters, digits, and unders
- Databricks storage-optimized endpoints only support TRIGGERE
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/27168e2abdd229e1.
Report an issue: GitHub.