docs/platforms/mac/voicewake.md
Voice Wake and push-to-talk require macOS 26 or newer. On older macOS versions, the controls are hidden from the Voice settings page, which shows the macOS 26 requirement.
swabbleTriggerWords). On match it starts capture, shows the overlay with partial text, and auto-sends after silence.VoiceWakeRuntime.VoiceWakeOverlayController with committed/volatile coloring.Previously, if the overlay got stuck visible and you manually closed it, Voice Wake could appear "dead" because the runtime's restart attempt could be blocked by overlay visibility and no subsequent restart was scheduled.
Hardening:
VoiceWakeRuntime.refresh(...) via VoiceSessionCoordinator, so manual X-dismiss always resumes listening..flagsChanged monitor for right Option (keyCode 61 + .option). We only observe events (no swallowing).VoicePushToTalk: starts Speech immediately, streams partials to the overlay, and calls VoiceWakeForwarder on release.NSSound-loadable file (e.g. MP3/WAV/AIFF) for each event or choose No Sound.VoiceWakeForwarder.prefixedTranscript(_:) prepends the machine hint before sending. Shared between wake-word and push-to-talk paths.triggerVoiceEars(ttl:nil)); they drop after release.