Skip to content

[Bug] Cron announce to Discord fails with discordVoice outbound adapter is unavailable when messages.tts.auto="always" #84952

@chouzz

Description

@chouzz

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

Metadata

Metadata

Assignees

Labels

P2Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions