speak
Reads a short message aloud to the user, delivering a spoken TL;DR of your answer. Supports interrupting current speech and using different speaker identities.
Instructions
Speak a short message aloud to the user through their speakers.
Use this to deliver a spoken TL;DR alongside (not instead of) your written answer: 1-3 conversational sentences summarizing the outcome, a finding, or a question. Never read code, file paths, or long explanations aloud.
You send only the text: voice, speed and language belong to the daemon (the user controls them on the dashboard). To deliberately switch your voice, call change_voice.
Concurrent speech is serialized: by default a new call WAITS for the current utterance to finish (queued), and for the user to finish speaking. Set interrupt=True to cut the current utterance off and speak immediately — use it only when your previous words are now stale (e.g. the user corrected you mid-answer).
Args: text: What to say. Plain conversational prose. Mark the key words the listener must catch with markdown bold (like this) — they get vocal emphasis and show bold on the live dashboard. Also supports inline speech tags like [pause] or [laugh] and wrapping tags like text. interrupt: Cut off any utterance currently playing and speak now. speaker: ONLY for subagents. If you are a subagent (Task/Agent tool), pass your role name here (e.g. "researcher") — the dashboard shows the message under that name with its own portrait, and the daemon gives you a stable voice distinct from the main agent's. The main agent must leave this empty.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| speaker | No | ||
| interrupt | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |