NousResearch/hermes-agent · error · Error

Microphone access denied.

Error message

Microphone access denied.

What it means

Error "Microphone access denied." thrown in NousResearch/hermes-agent.

Source

Thrown at apps/desktop/src/app/chat/composer/hooks/use-mic-recorder.ts:181

      tick()
    } catch {
      setLevel(0)
    }
  }

  const start: MicRecorderHandle['start'] = async (options = {}) => {
    if (recorderRef.current) {
      return
    }

    if (!navigator.mediaDevices?.getUserMedia || typeof MediaRecorder === 'undefined') {
      throw new Error(copy.microphoneUnsupported)
    }

    const permitted = await window.hermesDesktop?.requestMicrophoneAccess?.()

    if (permitted === false) {
      throw new Error(copy.microphoneAccessDenied)
    }

    let stream: MediaStream

    try {
      stream = await navigator.mediaDevices.getUserMedia({
        audio: { echoCancellation: true, noiseSuppression: true }
      })
    } catch (error) {
      throw micError(error, copy)
    }

    const mimeType =
      ['audio/webm;codecs=opus', 'audio/webm', 'audio/mp4', 'audio/ogg;codecs=opus', 'audio/ogg', 'audio/wav'].find(
        type => MediaRecorder.isTypeSupported(type)
      ) ?? ''

    let recorder: MediaRecorder

View on GitHub (pinned to c896c09c42)

Solutions

  1. Grant microphone permission to Hermes Desktop in OS privacy settings, then retry.
  2. Check that no other app has exclusive control of the microphone.
  3. Verify a microphone is connected and selected as the default input device.

When it happens

Trigger: Thrown at apps/desktop/src/app/chat/composer/hooks/use-mic-recorder.ts:181 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14). Data as JSON: /api/errors/be852dca6292e3f3. Report an issue: GitHub.