NousResearch/hermes-agent · error
AudioContext unavailable for client wake capture
Error message
AudioContext unavailable for client wake capture
What it means
Error "AudioContext unavailable for client wake capture" thrown in NousResearch/hermes-agent.
Source
Thrown at apps/desktop/src/lib/wake-client-capture.ts:91
for (let i = 0; i < bytes.length; i += chunk) {
binary += String.fromCharCode(...bytes.subarray(i, i + chunk))
}
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)View on GitHub (pinned to c896c09c42)
Solutions
- Use a browser/runtime that supports WebAudio AudioContext.
- Enable audio permissions and retry; some runtimes block AudioContext until user interaction.
When it happens
Trigger: Thrown at apps/desktop/src/lib/wake-client-capture.ts:91 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/2fbb64775b600e9a.
Report an issue: GitHub.