NousResearch/hermes-agent · error
getUserMedia unavailable for client wake capture
Error message
getUserMedia unavailable for client wake capture
What it means
Error "getUserMedia unavailable for client wake capture" thrown in NousResearch/hermes-agent.
Source
Thrown at apps/desktop/src/lib/wake-client-capture.ts:95
return btoa(binary)
}
/**
* Start streaming the default microphone to `wake.feed`.
* Returns a handle whose `stop()` ends tracks + audio graph.
*/
export async function startClientWakeCapture(options: ClientWakeCaptureOptions): Promise<ClientWakeCaptureHandle> {
const frameLength = Math.max(160, Math.trunc(options.frameLength || DEFAULT_FRAME))
const audioWindow = window as Window & { webkitAudioContext?: typeof AudioContext }
const AudioContextCtor = window.AudioContext || audioWindow.webkitAudioContext
if (!AudioContextCtor) {
throw new Error('AudioContext unavailable for client wake capture')
}
if (!navigator.mediaDevices?.getUserMedia) {
throw new Error('getUserMedia unavailable for client wake capture')
}
const stream = await navigator.mediaDevices.getUserMedia({
audio: {
channelCount: 1,
echoCancellation: true,
noiseSuppression: true,
autoGainControl: true
},
video: false
})
const context = new AudioContextCtor()
const source = context.createMediaStreamSource(stream)
// ScriptProcessor is deprecated but widely available and simple for PCM export.
// Buffer size 4096 keeps callback rate reasonable on desktop.
const processor = context.createScriptProcessor(4096, 1, 1)
const mute = context.createGain()View on GitHub (pinned to c896c09c42)
Solutions
- Use a runtime that supports getUserMedia (desktop app or modern browser).
- Serve the app over a secure context (https or localhost) so getUserMedia is exposed.
When it happens
Trigger: Thrown at apps/desktop/src/lib/wake-client-capture.ts:95 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14).
Data as JSON: /api/errors/85728f818173a83f.
Report an issue: GitHub.