#ElevenLabs TTS not working - 'no provider registered' error

1 messages · Page 1 of 1 (latest)

little eagle
#

Hello! We previously received a recommendation for an ElevenLabs TTS configuration for OpenClaw. We tried to set it up as suggested, but it doesn't work.

Our environment:

• OS: Windows 11
• OpenClaw version: 2026.4.5
• Channel: Telegram
• Model: Deepseek Chat

What we tried:

Our current config for TTS:

"messages": {
"tts": {
"auto": "always",
"provider": "elevenlabs",
"providers": {
"elevenlabs": {
"apiKey": "sk_xxxxxxxxx", // valid key
"voiceId": "nd61pgrpokJLt8NwKQlq", // existing voice
"modelId": "eleven_multilingual_v2",
"baseUrl": "https://api.elevenlabs.io",
"voiceSettings": {
"stability": 0.5,
"similarityBoost": 0.8,
"style": 0.2,
"useSpeakerBoost": true,
"speed": 0.98
}
}
}
}
}

The error: When we try to send TTS audio, we get: "elevenlabs: no provider registered; openai: not configured; minimax: not configured; vydra: not configured"

Questions:

  1. Is ElevenLabs TTS supported as a built-in provider in OpenClaw 2026.4.5?
  2. If yes, what is the correct config format? Does it need a separate plugin?
  3. If not, is there an alternative TTS provider that works out of the box with this version?
  4. Does the tts section need an "elevenlabs" plugin entry in plugins.entries?

Any help would be appreciated! We're using Telegram and this is for a companion AI setup.

Thank you!

keen gorgeBOT
thick shoalBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

little eagle
#

Hello! We followed the recommendation from a previous help thread to configure ElevenLabs TTS for a companion AI setup, but it doesn't work.

Environment:

• OS: Windows 11
• OpenClaw version: 2026.4.5
• Channel: Telegram
• Model: Deepseek Chat

Current config:

"messages": {
"tts": {
"auto": "always",
"provider": "elevenlabs",
"providers": {
"elevenlabs": {
"apiKey": "sk_46f0bb6c885523fe6fa8b1b47a31f460ed5efe5bb321bdc1",
"voiceId": "nd61pgrpokJLt8NwKQlq",
"modelId": "eleven_multilingual_v2",
"baseUrl": "https://api.elevenlabs.io",
"voiceSettings": {
"stability": 0.5,
"similarityBoost": 0.8,
"style": 0.2,
"useSpeakerBoost": true,
"speed": 0.98
}
}
}
}
}

Exact error:

TTS conversion failed: elevenlabs: no provider registered; openai: not configured; minimax: not configured; vydra: not configured

What we tried:

  1. Added baseUrl: "https://api.elevenlabs.io" — no change
  2. Disabled modelOverrides.enabled — no change
  3. Removed modelOverrides entirely — no change

Questions:

  1. Is ElevenLabs a built-in TTS provider in v2026.4.5, or does it need a separate plugin?
  2. If built-in, what could cause "no provider registered"?
  3. Are there any alternative TTS providers that work out of the box with this version on Windows?
  4. Does ElevenLabs need an entry in plugins.entries to register as a provider?

Thanks in advance!

carmine fieldBOT
#

Let me verify this against the actual 2026.4.5 docs and source, because that error usually means the provider never got registered, not just that the API key is wrong.

#

I found the important bit: ElevenLabs does exist in source as a bundled speech plugin, and the exact error string is thrown when OpenClaw can't see that plugin at runtime, before it even checks your API key. I'm checking the plugin loading behavior now so I can tell you whether you need a plugins.entries override or whether something is disabled.

#

Your messages.tts.providers.elevenlabs shape looks basically correct.

The important part is this:
elevenlabs: no provider registered means OpenClaw is not loading the ElevenLabs speech plugin at runtime. That happens before it even gets to your API key, voice ID, or model ID.

Answers:

  1. Yes, ElevenLabs TTS is supported as a bundled speech provider.
  2. Yes, the right config location is messages.tts.providers.elevenlabs. It is not supposed to live under plugins.entries.elevenlabs.config.
  3. If you want a quick fallback test, Microsoft TTS is the easiest out of the box because it needs no API key. OpenAI, Google, MiniMax, and xAI are also supported.
  4. You do not normally need a plugin entry for config. You only need plugins.entries.elevenlabs.enabled: true if that plugin was disabled.

The likely causes are:

  • plugins.enabled: false
  • plugins.entries.elevenlabs.enabled: false
  • you use plugins.allow, and it does not include elevenlabs
#

If you use an allowlist, it must include the plugin id:

{
  plugins: {
    entries: {
      elevenlabs: { enabled: true },
    },
    allow: [
      "elevenlabs",
      // keep your other allowed plugin ids too
    ],
  },
}

A few extra notes:

#

If you paste the output of openclaw plugins inspect elevenlabs and whether you have plugins.allow set, I can tell you the exact fix.

#

First, please rotate that ElevenLabs API key now and edit the post if you can, it was pasted publicly.

On the TTS issue, your config shape looks fine.
baseUrl and modelOverrides will not fix this specific error, because:

elevenlabs: no provider registered

means OpenClaw never loaded the ElevenLabs speech provider into the runtime registry. It is failing before API key / voice / model validation.

Answers

  1. Yes, ElevenLabs is supported as a bundled TTS provider.
  2. Likely causes of no provider registered:
    • plugins.enabled: false
    • plugins.entries.elevenlabs.enabled: false
    • plugins.allow is set, but does not include elevenlabs
    • the plugin failed to load in that install/build
#
  1. Alternatives that work out of the box:
    • Microsoft TTS, easiest test, no API key
    • OpenAI
    • Google
    • MiniMax
    • xAI
  2. No, you do not normally put ElevenLabs TTS config under plugins.entries.
    The TTS settings belong under messages.tts.providers.elevenlabs.

One important nuance: if you use plugins.allow, then this is not enough by itself:

plugins: {
  entries: {
    elevenlabs: { enabled: true }
  }
#
}

You must also include elevenlabs in the allowlist.

What to check next

openclaw plugins inspect elevenlabs
openclaw plugins list --enabled
openclaw status --all
openclaw doctor --fix
openclaw gateway restart

If plugins.allow exists, make sure it includes elevenlabs.

#

Minimal known-good shape

{
  messages: {
    tts: {
      auto: "always",
      provider: "elevenlabs",
      providers: {
        elevenlabs: {
          apiKey: "REDACTED",
          voiceId: "your_voice_id",
          modelId: "eleven_multilingual_v2",
          baseUrl: "https://api.elevenlabs.io",
        },
      },
little eagle
#

Update: I ran openclaw plugins inspect elevenlabs and the output was:

Status: disabled
Origin: bundled
Error: bundled (disabled by default)

So I added it to plugins.entries:

"plugins": {
"entries": {
"elevenlabs": {
"enabled": true
}
}
}

After restart, I checked again and now elevenlabs appears in plugins.entries as enabled. But the TTS error is still exactly the same:

TTS conversion failed: elevenlabs: no provider registered; openai: not configured; minimax: not configured; vydra: not configured

I also tried adding plugins.allow: ["elevenlabs", "deepseek", "browser"] — no change.

Any other ideas? Does the config field inside plugins.entries.elevenlabs need something?

carmine fieldBOT
#

That’s actually a really useful clue. If OpenAI and MiniMax show “not configured” but ElevenLabs still shows “no provider registered”, the speech system itself is alive, but the ElevenLabs plugin still isn’t registering, even after you flipped enabled: true.

I’m checking the plugin/runtime docs for what normally blocks a bundled plugin after it’s explicitly enabled, because at this point it smells more like a plugin load failure than a config-shape problem.

#

Nice, that narrows it down a lot.

plugins.entries.elevenlabs.enabled: true was the right move.
If TTS still says elevenlabs: no provider registered, then this is not a TTS config-shape issue anymore. It means the plugin is enabled in config, but still is not successfully loading into the runtime.

A few important points:

  • No, plugins.entries.elevenlabs.config should not need anything for TTS.
  • Keep the actual ElevenLabs settings under messages.tts.providers.elevenlabs.
  • I would remove plugins.allow again while debugging, unless you already rely on it. It adds another moving part and is not needed for this test.

At this point the most likely causes are:

  1. bundled plugin load failure
  2. missing bundled plugin runtime deps
  3. less likely, a 2026.4.5 Windows packaging bug for the ElevenLabs plugin
#

Next commands to run

openclaw plugins inspect elevenlabs --json
openclaw plugins doctor
openclaw doctor --fix
openclaw gateway restart
openclaw logs --follow

What we want to catch is a line like:

  • failed to load plugin: ...
  • failed to install bundled runtime deps: ...

That matters because the docs explicitly say openclaw doctor --fix repairs missing runtime deps for active bundled plugins, which is exactly this situation now.

#

My recommendation

  1. keep:
plugins: {
  entries: {
    elevenlabs: { enabled: true }
  }
}
  1. keep your TTS config under messages.tts.providers.elevenlabs

  2. remove plugins.allow for now

  3. run openclaw doctor --fix

#

If it still fails

Please paste:

  • openclaw plugins inspect elevenlabs --json
  • the first [plugins] elevenlabs ... error line from openclaw logs --follow

If those show the plugin is enabled but failing to load, I’d treat that as a likely version-specific bug, not a bad config.

Temporary workaround: Microsoft TTS is the easiest fallback on Windows, because it works without an API key.

Docs:

Also, if you have not already, please rotate the ElevenLabs key from the earlier post.

little eagle
#

Thanks for the help! 🙏

The plugins.entries.elevenlabs.enabled: true fix worked — the plugin loaded and the provider registered. We actually got audio working (/tts audio), but the ElevenLabs account ran out of credits (10 remaining, 49 needed per request).

Switched to Microsoft TTS in config (provider: "microsoft"), but it says microsoft: no provider registered. Likely a Windows + SIGUSR1 issue — the gateway restart doesn't fully apply on this platform.

We'll wait until either ElevenLabs gets topped up or the Microsoft TTS provider registration gets fixed on Windows.

Thanks again for the diagnostic help! 🦞

carmine fieldBOT
#

Glad we caught it 🦐

Yep, that confirms the root cause was plugin enablement, not the TTS config shape.

One small note: for Microsoft, I would not assume SIGUSR1 yet.
microsoft: no provider registered is usually the same class of issue, meaning the Microsoft speech plugin is not active.

If you test it later, I’d check:

openclaw plugins inspect microsoft

and if needed:

#
{
  plugins: {
    entries: {
      microsoft: { enabled: true }
    }
  }
}

Then restart the gateway again.

Also, if the ElevenLabs fix solved the original problem, please right-click the solution message → Apps → ✅ Mark Solution.
That helps Answer Overflow index it for the next person who hits this exact TTS/plugin trap. 🎉