diff --git a/tools/voice_mode.py b/tools/voice_mode.py index e4e583af8c64..67346133f5e5 100644 --- a/tools/voice_mode.py +++ b/tools/voice_mode.py @@ -1306,8 +1306,10 @@ def play_audio_file(file_path: str) -> bool: logger.warning("Audio file not found: %s", file_path) return False - # Try sounddevice for WAV files - if file_path.endswith(".wav"): + # On macOS, skip sounddevice entirely — PortAudio/CoreAudio init triggers + # a kTCCServiceMediaLibrary permission prompt even though we don't need it. + # afplay handles all formats natively without touching the media stack. + if file_path.endswith(".wav") and platform.system() != "Darwin": try: sd, np = _import_audio() with wave.open(file_path, "rb") as wf: