Skip to content

[Bug]: [macOS] Companion app crashes on launch when configured Swabble mic is unavailable #23162

@chadmbrown

Description

@chadmbrown

Summary

The macOS companion app crashes immediately on launch if the audio device configured as the Swabble (voice wake) microphone is disconnected or unavailable. The crash is unhandled — the app throws SIGABRT with no graceful fallback or user-facing error.

Steps to reproduce

  1. Configure Swabble with a USB microphone (e.g. Logitech C922 Pro Stream Webcam)
  2. Quit the companion app
  3. Unplug the USB mic
  4. Reopen the companion app → crashes immediately

Expected behavior

App should launch successfully and either: (a) disable Swabble automatically with a notification that the configured mic is unavailable, or (b) fall back to the system default mic.

Actual behavior

Exception: EXC_CRASH (SIGABRT) — abort() called
Bundle: ai.openclaw.mac.debug 2026.2.17 (12195)
macOS: 26.3 (25D125) — ARM64

AVAudioEngineImpl::InstallTapOnNode(...) + 1556 ← throws NSException
-[AVAudioNode installTapOnBus:bufferSize:format:block:] + 608
VoiceWakeRuntime.start(with:) + 2636
VoiceWakeRuntime.refresh(state:) + 1
closure #2 in AppState.init(preview:) + 1

Workaround:
defaults write ai.openclaw.mac.debug "openclaw.swabbleEnabled" -bool false

OpenClaw version

2026.2.21

Operating system

macOS

Install method

nom global + Mac app

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

Additional context

• Configured mic preference key: openclaw.voiceWakeMicID in ai.openclaw.mac.debug domain
• The crash loops if you click "Reopen" in the macOS crash dialog — the app will keep crashing until the mic is reconnected or Swabble is disabled via the workaround above
• Setting openclaw.swabbleEnabled = false in ai.openclaw.mac (non-debug domain) has no effect — the app reads from ai.openclaw.mac.debug

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions