Skip to content

macOS App crashes on launch when no audio input device is available (VoiceWakeRuntime) #16118

@shrekshrek

Description

@shrekshrek

Description

OpenClaw macOS App (v2026.2.13) crashes immediately on launch on a Mac mini with no microphone/audio input device. The crash occurs after granting microphone permission — the menubar icon appears briefly then disappears.

Environment

  • App version: 2026.2.13
  • macOS: 26.2 (Darwin 25.2.0)
  • Hardware: Mac mini (Apple Silicon)
  • Audio devices: Output only (Mac mini speakers + DisplayPort monitor speakers). No audio input device.

Crash Analysis

The crash log shows VoiceWakeRuntime.start(with:) calls -[AVAudioNode installTapOnBus:bufferSize:format:block:], which throws an unhandled NSExceptionabort().

Faulting thread backtrace:

objc_exception_throw
+[NSException raise:format:]
AVAudioEngineImpl::InstallTapOnNode(AVAudioNode*, unsigned long, unsigned int, AVAudioFormat*, void (AVAudioPCMBuffer*, AVAudioTime*) block_pointer)
-[AVAudioNode installTapOnBus:bufferSize:format:block:]
VoiceWakeRuntime.start(with:)
VoiceWakeRuntime.refresh(state:)
closure #2 in AppState.init(preview:)

Termination reason:

Abort trap: 6 (SIGABRT)
libsystem_c.dylib: abort() called

Root Cause

VoiceWakeRuntime.start(with:) does not check whether a valid audio input device exists before calling installTapOnBus. On machines without a microphone (e.g., Mac mini, Mac Pro without USB/Bluetooth mic), installTapOnBus raises an NSException that is not caught, crashing the entire app.

Expected Behavior

The app should gracefully handle the absence of an audio input device — either skip Voice Wake initialization or catch the exception and show a user-facing warning (e.g., "No microphone found, Voice Wake disabled").

Reproduction Steps

  1. Use a Mac mini (or any Mac without a built-in or connected microphone)
  2. Install OpenClaw v2026.2.13 via DMG
  3. Launch the app
  4. Grant microphone permission when prompted
  5. App crashes immediately (menubar icon disappears)
  6. Relaunching the app crashes again every time

Workaround

None found. There is no voiceWakeEnabled setting in the app defaults (bot.molt.mac) or CLI config to disable Voice Wake before launch. The gateway and CLI continue to work fine — only the macOS menubar app is affected.

Crash Report

Full .ips crash report available on request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions