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

  1. Restart SillyTavern-Extras with the embeddings module enabled (check its --enable-modules / config).
  2. Verify the Extras base URL and API key in connection settings point at the right instance.
  3. Confirm the modules list the server reports actually contains 'embeddings' (check the server response).
  4. 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

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.