Skip to content

Discord voice: Failed to decrypt audio input (DecryptionFailed) #24883

@kevin-computa

Description

@kevin-computa

Bug Report

Platform: macOS (arm64)
Node: v22.22.0
OpenClaw version: 2026.2.22-2

Problem

Discord voice channel joining works (/vc join and autoJoin both successful), but the bot cannot receive/decrypt incoming audio from users speaking in the voice channel.

Error

From openclaw logs:

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

This error appears continuously while a user is speaking in the voice channel.

Root Cause: Missing DAVE Protocol Support

Discord is rolling out mandatory end-to-end encryption for all voice calls via the DAVE (Discord Audio & Video End-to-end) protocol. As of February 2026, Discord has begun early enforcement of DAVE on some servers ahead of the March 1, 2026 deadline.

Discord's DAVE rollout:

Current library status:

  • @discordjs/voice@0.19.0 installed (includes DAVE support)
  • @snazzah/davey@0.1.9 installed (DAVE protocol library)
  • ❌ OpenClaw's Discord voice implementation does not use DAVE

Configuration

{
  "channels": {
    "discord": {
      "enabled": true,
      "commands": {
        "native": true
      },
      "groupPolicy": "allowlist",
      "guilds": {
        "<guild_id>": {
          "requireMention": false,
          "users": ["<user_id>"]
        }
      },
      "voice": {
        "enabled": true,
        "autoJoin": [
          {
            "guildId": "<guild_id>",
            "channelId": "<channel_id>"
          }
        ],
        "tts": {
          "provider": "openai",
          "openai": {
            "voice": "alloy"
          }
        }
      }
    }
  }
}

Verified

  • ✅ Bot successfully joins voice channel via /vc join
  • ✅ Bot shows "Already connected to <#channel>" when checking status
  • ✅ FFmpeg, libsodium, opus installed via Homebrew
  • @discordjs/voice, sodium-native, opusscript present in node_modules
  • @snazzah/davey (DAVE library) present in node_modules
  • ❌ Bot does not respond to voice input (speech-to-text not working)

Expected Behavior

Bot should be able to receive and decrypt DAVE-encrypted audio from Discord voice channels.

Actual Behavior

Bot joins channel but cannot decrypt incoming audio packets. The decryption error indicates Discord is sending DAVE-encrypted packets but OpenClaw's voice receiver is not handling DAVE encryption.

Impact

Discord voice feature (added in 2026.2.22) does not work on servers with early DAVE enforcement, and will stop working entirely for all servers on March 1, 2026.

References

Discord documentation:

discord.js DAVE support:

Security audits:

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