# Agent creates an audio file but will not attach it in a Discord DM

**URL:** <https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47>\
**Category:** Troubleshooting\
**Tags:** attachments, channels, media, permissions, troubleshooting\
**Created:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47 "2026-09-14T22:30:49Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/1 "2026-09-14T22:30:49Z")

</div>

> **Adapted community discussion:** Translated, paraphrased, and condensed from an anonymized public OpenClaw Discord support conversation from August 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.

My agent created a small WAV file, but in a Discord direct message it says the chat interface cannot send multimedia attachments. The same kind of request worked in a private server before. I already have FFmpeg installed. Is the direct message the problem?

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/2 "2026-09-14T22:30:49Z")

</div>

Discord DMs support attachments, and FFmpeg only creates or converts media. It does not upload the file. The likely issues are tool permission and file visibility. The agent needs the `message` tool, and the final file path must be readable from the Gateway, not only from an isolated subagent or container. Check the tool list in that same DM session.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/3 "2026-09-14T22:30:49Z")

</div>

The agent tries a music-generation tool, refers to an example path, then reports `Media failed`.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/4 "2026-09-14T22:30:49Z")

</div>

The agent is missing the tools that can deliver or generate media. Keep the coding profile and extend it for the relevant agent:

```json5
{
  tools: {
    profile: "coding",
    alsoAllow: ["message", "tts"],
  },
}

```

Validate the config and open a fresh session before checking the tool list again.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/5 "2026-09-14T22:30:49Z")

</div>

My config already has the coding profile, cross-context message settings, and inbound audio transcription through Whisper.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/6 "2026-09-14T22:30:50Z")

</div>

Those settings do different jobs. Inbound transcription does not synthesize speech, and cross-context settings do not grant the `message` tool. Once `message` and `tts` appear, test with `/tts status`. For the existing WAV, ask the agent to attach the real Gateway-visible path through `message`, not a placeholder path.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/7 "2026-09-14T22:30:50Z")

</div>

I already had a Google TTS voice configured. Why is the agent asking for a Talk voice instead?

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:30pm UTC](https://community.openclaw.ai/t/agent-creates-an-audio-file-but-will-not-attach-it-in-a-discord-dm/47/8 "2026-09-14T22:30:50Z")

</div>

Talk and one-off TTS are separate surfaces. In OpenClaw 2026.9.3, TTS configuration lives under top-level `tts`. Keep `tts.auto` off so normal replies remain text; explicit speech requests and `/tts audio <text>` can still produce audio. Store provider credentials through the supported secret flow, never directly in a public config excerpt.
