SillyTavern/SillyTavern · warning · Error
extras_module_missing
extras_module_missing
Error message
Vectors: Embeddings module missing
What it means
Thrown when source is 'extras' but the connected Extras API does not report 'embeddings' in its modules list. SillyTavern-Extras is modular; if the embeddings module is not enabled (or not installed), it cannot produce vectors.
Source
Thrown at public/scripts/extensions/vectors/index.js:1109
if (vectorApiRequiresUrl.includes(settings.source) && settings.use_alt_endpoint) {
if (!settings.alt_endpoint_url) {
throw new Error('Vectors: API URL missing', { cause: 'api_url_missing' });
}
} else {
if (settings.source === 'ollama' && !textgenerationwebui_settings.server_urls[textgen_types.OLLAMA] ||
settings.source === 'vllm' && !textgenerationwebui_settings.server_urls[textgen_types.VLLM] ||
settings.source === 'koboldcpp' && !textgenerationwebui_settings.server_urls[textgen_types.KOBOLDCPP] ||
settings.source === 'llamacpp' && !textgenerationwebui_settings.server_urls[textgen_types.LLAMACPP]) {
throw new Error('Vectors: API URL missing', { cause: 'api_url_missing' });
}
}
if (settings.source === 'ollama' && !settings.ollama_model || settings.source === 'vllm' && !settings.vllm_model) {
throw new Error('Vectors: API model missing', { cause: 'api_model_missing' });
}
if (settings.source === 'extras' && !modules.includes('embeddings')) {
throw new Error('Vectors: Embeddings module missing', { cause: 'extras_module_missing' });
}
if (settings.source === 'webllm' && (!isWebLlmSupported() || !settings.webllm_model)) {
throw new Error('Vectors: WebLLM is not supported', { cause: 'webllm_not_supported' });
}
if (settings.source === 'workers_ai' && !oai_settings.workers_ai_account_id) {
throw new Error('Vectors: Workers AI account ID missing', { cause: 'account_id_missing' });
}
}
/**
* Deletes vector items from a collection
* @param {string} collectionId - The collection to delete from
* @param {number[]} hashes - The hashes of the items to delete
* @returns {Promise<void>}
*/
async function deleteVectorItems(collectionId, hashes) {View on GitHub (pinned to 8172dcd0ee)
Solutions
- Restart SillyTavern-Extras with the embeddings module enabled (check its --enable-modules / config).
- Verify the Extras base URL and API key in connection settings point at the right instance.
- Confirm the modules list the server reports actually contains 'embeddings' (check the server response).
- Switch the vector source to a built-in provider if you cannot run Extras embeddings.
Example fix
null
Defensive patterns
Strategy: validation
Validate before calling
if (settings.source === 'extras') {
const mods = Array.isArray(modules) ? modules : await fetchModules();
if (!mods.includes('embeddings')) {
// block; tell the user to enable the embeddings module in Extras
}
} Type guard
null
Try / catch
null
Prevention
- Before choosing the Extras vector source, confirm the modules list includes 'embeddings'.
- Restart Extras with embeddings enabled after any config change.
- Show the live modules list in the UI so the user can verify.
When it happens
Trigger: Vector source set to 'Extras' while the Extras backend is running without the embeddings module enabled.
Common situations: Extras started without the embeddings flag/dependency; Extras process updated and the module name/availability changed; Extras connection points at a different instance that lacks embeddings.
Related errors
AI-assisted analysis of SillyTavern/SillyTavern@8172dcd0ee (2026-08-13).
Data as JSON: /api/errors/2a4e01dc0da417d7.
Report an issue: GitHub.