Skip to content

Discord voice: audio receive broken due to DAVE E2EE decryption failure (@discordjs/voice 0.19.0) #24825

@AndreVianna-Ross

Description

@AndreVianna-Ross

Summary

Discord voice receive (STT pipeline) is completely broken. The bot joins the voice channel, TTS playback works, but no audio is received from users — the speaking event never fires.

Error

discord voice: receive error: Failed to decrypt: DecryptionFailed(UnencryptedWhenPassthroughDisabled)

This appears in logs with --verbose enabled.

Root Cause

@discordjs/voice 0.19.0 has a known bug with DAVE (Discord Audio Visual Encryption) protocol handling for receiving audio. Sending works fine.

Upstream issue: discordjs/discord.js#11419

Discord is enforcing DAVE E2EE on all voice channels starting March 2, 2026. The @discordjs/voice library cannot properly negotiate DAVE for incoming audio streams.

Environment

  • OpenClaw: 2026.2.22-2
  • @discordjs/voice: 0.19.0
  • @snazzah/davey: 0.1.9
  • Node.js: v22.22.0
  • Ubuntu 24.04 (Azure VM)

Steps to Reproduce

  1. Configure channels.discord.voice.enabled: true with autoJoin
  2. Configure STT provider (tools.media.audio)
  3. Bot joins voice channel successfully
  4. TTS works — users hear the bot
  5. STT fails — bot receives zero audio, no speaking events

Expected Behavior

Bot receives user audio, transcribes via STT, and responds via TTS (full duplex voice conversation).

Workaround

None currently. Waiting for upstream fix in @discordjs/voice.

Notes

  • The maintainer of discord.js confirmed this is a real receiving bug (comment on LINE: fix buffer guards in detectContentType + add tests #11419)
  • @snazzah/davey handles DAVE for sending but the receive path in @discordjs/voice is broken
  • py-cord (Python) handles DAVE correctly on the same channel, confirming it's a JS library issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions