Skip to content

fix(tts): update tool description to prevent duplicate audio delivery#18046

Merged
sebslight merged 2 commits intoopenclaw:mainfrom
zerone0x:fix/tts-tool-no-duplicate
Feb 16, 2026
Merged

fix(tts): update tool description to prevent duplicate audio delivery#18046
sebslight merged 2 commits intoopenclaw:mainfrom
zerone0x:fix/tts-tool-no-duplicate

Conversation

@zerone0x
Copy link
Copy Markdown
Contributor

@zerone0x zerone0x commented Feb 16, 2026

Summary

Updated TTS tool description to prevent models from re-echoing MEDIA paths, which caused duplicate audio delivery.

Problem

The old description "Copy the MEDIA line exactly" caused models to re-output the MEDIA path in their follow-up message. Since the delivery pipeline already dispatches media from tool results independently, this resulted in:

  1. Audio sent from tool result ✓
  2. Audio sent again from follow-up message ✗ (duplicate)

Fix

Changed instruction to tell models to reply NO_REPLY after successful TTS calls, since the audio is automatically delivered from the tool result.

Before: Copy the MEDIA line exactly.
After: reply with NO_REPLY after a successful call to avoid duplicate messages.

Fixes #17991

Greptile Summary

Updated the TTS tool description from instructing models to "Copy the MEDIA line exactly" to "reply with NO_REPLY after a successful call to avoid duplicate messages." This prevents models from re-echoing the MEDIA: path in follow-up responses, which was causing audio to be delivered twice - once from the tool result and again from the assistant's message. The system already extracts and delivers media from tool results automatically via splitMediaFromOutput in src/media/parse.ts, so the follow-up message should be silent (NO_REPLY) to prevent duplication.

Confidence Score: 5/5

  • This PR is safe to merge with no risk - it's a simple, focused documentation change to a tool description
  • The change is minimal (single line), well-documented, and directly addresses the stated problem. The instruction to use NO_REPLY is consistent with existing patterns in the codebase (seen in message tool, memory flush, and other tools). The media delivery pipeline already handles extracting and dispatching MEDIA: paths from tool results, so models should remain silent after TTS calls.
  • No files require special attention

Last reviewed commit: ec1f198

@sebslight sebslight self-assigned this Feb 16, 2026
Clawdbot and others added 2 commits February 16, 2026 08:04
The old description "Copy the MEDIA line exactly" caused models to
re-output the MEDIA path in their follow-up message, resulting in the
audio being delivered twice (once from tool result, once from follow-up).

Changed instruction to tell models to reply NO_REPLY after successful
TTS calls, since the audio is already delivered from the tool result.

Fixes openclaw#17991
@sebslight sebslight force-pushed the fix/tts-tool-no-duplicate branch from ec1f198 to 70c096a Compare February 16, 2026 13:07
@sebslight sebslight merged commit c2a0cf0 into openclaw:main Feb 16, 2026
24 checks passed
@sebslight
Copy link
Copy Markdown
Member

Merged via squash.

Thanks @zerone0x!

@zerone0x zerone0x deleted the fix/tts-tool-no-duplicate branch February 16, 2026 13:32
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
…openclaw#18046)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 70c096a
Co-authored-by: zerone0x <39543393+zerone0x@users.noreply.github.com>
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com>
Reviewed-by: @sebslight
lovewanwan pushed a commit to lovewanwan/openclaw that referenced this pull request Apr 28, 2026
…openclaw#18046)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 70c096a
Co-authored-by: zerone0x <39543393+zerone0x@users.noreply.github.com>
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com>
Reviewed-by: @sebslight
ogt-redknie pushed a commit to ogt-redknie/OPENX that referenced this pull request May 2, 2026
…openclaw#18046)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 70c096a
Co-authored-by: zerone0x <39543393+zerone0x@users.noreply.github.com>
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com>
Reviewed-by: @sebslight
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TTS tool result causes duplicate audio delivery — model re-echoes MEDIA path

2 participants