openclaw - 💡(How to fix) Fix [Bug] Cron announce to Discord fails with `discordVoice outbound adapter is unavailable` when `messages.tts.auto="always"` [3 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

On OpenClaw 2026.5.19, isolated cron jobs with delivery.mode="announce" to Discord fail at delivery with:

OutboundDeliveryError: discordVoice outbound adapter is unavailable.

The agent run itself succeeds and produces a normal text summary, but outbound delivery is marked failed.

Error Message

  • error: OutboundDeliveryError: discordVoice outbound adapter is unavailable.

Root Cause

On OpenClaw 2026.5.19, isolated cron jobs with delivery.mode="announce" to Discord fail at delivery with:

OutboundDeliveryError: discordVoice outbound adapter is unavailable.

The agent run itself succeeds and produces a normal text summary, but outbound delivery is marked failed.

Fix Action

Fixed

RAW_BUFFERClick to expand / collapse

Summary

On OpenClaw 2026.5.19, isolated cron jobs with delivery.mode="announce" to Discord fail at delivery with:

OutboundDeliveryError: discordVoice outbound adapter is unavailable.

The agent run itself succeeds and produces a normal text summary, but outbound delivery is marked failed.

Environment

  • OpenClaw: 2026.5.19 (a185ca2)
  • Channel: Discord
  • Cron job: isolated, announce delivery to Discord channel
  • Config: messages.tts.auto = "always"

Repro Steps

  1. Configure Discord channel/account and a cron job with delivery.mode="announce" to a Discord text channel.
  2. Set messages.tts.auto to "always".
  3. Run the cron job manually with openclaw cron run <job-id>.
  4. Inspect run history with openclaw cron runs --id <job-id> --expect-final.

Observed

  • Cron execution produces valid summary text.
  • Final run status contains:
    • error: OutboundDeliveryError: discordVoice outbound adapter is unavailable.
    • delivery.resolved.ok: true (discord target resolved)
    • delivery.delivered: false
    • delivery.fallbackUsed: true

Expected

For text-only cron announce delivery targets, outbound should use normal Discord text path and succeed (or gracefully bypass voice route), even when messages.tts.auto="always".

Additional Notes

  • Setting messages.tts.auto to non-always mode (e.g. tagged) avoided the failure in local testing.
  • This looks like a regression in Discord + cron + auto-TTS delivery routing.

Example run ids

  • manual:b6d6d387-11c9-4dbe-b220-83f35d28a987:1779365221918:1
  • manual:b6d6d387-11c9-4dbe-b220-83f35d28a987:1779368021934:1

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING