OpenClaw provides two interaction modes that go beyond text chat: Talk Mode for voice-driven conversations and Canvas for rich visual output. Talk Mode lets you speak to your agents and hear spoken responses, powered by speech-to-text (STT) for transcription and text-to-speech (TTS) for responses. Optional wake word detection activates Talk Mode from a background listener, so you never leave your keyboard. Canvas is a macOS-native surface where agents render HTML, charts, code diffs, and web pages through the A2UI (Agent-to-UI) protocol. Where text chat limits agents to sequential, text-only responses, Canvas gives them a visual output layer for dashboards, data visualizations, and interactive content. Together, Talk Mode and Canvas turn OpenClaw into a multimodal assistant that you can talk to, see output from, and interact with visually -- all while keeping your hands free. This concept page covers the configuration of both modes, the A2UI protocol, platform support, and practical workflows that combine voice and visual interaction.
Master openclaw talk mode & canvas
Take the Talk Mode & Voice course with hands-on lessons and challenges.
Add this to your agent configuration in openclaw.json. The tts block configures text-to-speech (OpenAI TTS with the "nova" voice). The stt block configures speech-to-text (OpenAI Whisper for transcription). The wakeWord field sets the phrase that activates Talk Mode from the background listener. You can swap providers -- any OpenAI-compatible TTS/STT API works.
The talk command enters Talk Mode immediately -- the agent listens for voice, transcribes, processes, and responds with synthesized speech. The voicewake command manages the background listener that activates Talk Mode on the configured wake word. On macOS, a voice overlay appears with waveform visualization while Talk Mode is active.
This A2UI command renders an HTML report on the Canvas surface. The action field specifies the operation (present for rendering content). The content.type is html, and body contains the raw HTML to render. Agents generate these commands automatically when visual output is appropriate -- you do not need to construct them manually.
The navigate action opens a URL in the Canvas window. When screenshot is true, the agent receives a screenshot of the rendered page for visual analysis. This enables agents to browse the web, review pull requests, inspect dashboards, and report back on what they see -- all within the Canvas surface.
This shows Talk Mode and Canvas working together. The voice wake listener activates Talk Mode when you speak the wake word. The agent receives your transcribed request, renders the dashboard on Canvas, and responds with synthesized speech. You see the visual output on the Canvas and hear the spoken summary -- entirely hands-free.
Using a short or common wake word like "hey" or "go", causing frequent false activations
Choose a distinctive multi-word phrase with two or three syllables that does not commonly appear in conversation. Test it in your actual working environment with background noise to verify reliability.
Expecting Canvas to work on Linux or Windows -- Canvas is macOS-only
The Canvas surface requires macOS. On Linux and Windows, use the TUI (terminal interface) or WebChat for agent interaction. Voice wake detection works on macOS and Linux, but the Canvas visual surface is exclusive to macOS.
Using a large or slow STT model for real-time voice interaction, causing noticeable transcription delay
Use OpenAI's whisper-1 or equivalent fast models for real-time interaction. Larger models may be more accurate but introduce latency that disrupts conversational flow. Prioritize speed for Talk Mode; use higher-accuracy models only for batch transcription of recorded audio.
Rendering heavy JavaScript applications or full web apps in Canvas, consuming excessive memory
Keep Canvas content focused and lightweight. Render targeted HTML -- a chart, a table, a code diff -- rather than embedding entire web applications. The Canvas is a presentation surface, not a browser replacement.
Writing agent code that handles voice input differently from text input
Voice input is transcribed to text before it reaches the agent. The agent receives a standard text message regardless of whether the user typed or spoke. Do not add voice-specific code paths in your agent logic -- the Gateway handles transcription transparently.
OpenClaw Talk Mode and Canvas extend agent interaction beyond text into voice and visual modalities. Talk Mode uses STT (Whisper) and TTS (OpenAI) for spoken conversations, with wake word detection on macOS and Linux for hands-free activation. Canvas is a macOS-native surface where agents render HTML, charts, code diffs, and web pages through the A2UI protocol. Voice notes from WhatsApp and Telegram are transcribed transparently by the Gateway before reaching the agent. The two modes combine into a hands-free visual workflow: speak a request via Talk Mode, see the result rendered on Canvas, and hear a spoken summary. Platform support differs -- Talk Mode works on macOS and Linux, while Canvas is macOS-only. On non-macOS platforms, the TUI and WebChat provide alternative interaction surfaces.
Interactive lessons and challenges on Stanza, practice in VS Code, Cursor, or the web.
Interactive lessons and challenges, right in your code editor.
Check the free courses. No credit card.