NousResearch/hermes-agent · error · Error

multitab setup failed (${ok}) — dev hooks missing? (needs a

Error message

multitab setup failed (${ok}) — dev hooks missing? (needs a dev/probe renderer)

What it means

Error "multitab setup failed (${ok}) — dev hooks missing? (needs a dev/probe renderer)" thrown in NousResearch/hermes-agent.

Source

Thrown at apps/desktop/scripts/perf/scenarios/multitab.mjs:325

    const tools = Boolean(opts.tools)
    const tokens = Number(opts.tokens ?? 240)
    // Matches STREAM_DELTA_FLUSH_MS — one publish per session per real flush.
    const intervalMs = Number(opts.intervalMs ?? 33)
    // --code: every tile grows ONE giant fenced code block with no settle
    // boundaries — what a coding agent streams. The block re-parses and
    // re-renders fully every flush (block memoization can't settle it), the
    // documented worst case and the "5 tabs all coding" crawl.
    const chunk = opts.code
      ? '  const value = await resolve(ctx, { retry: true }) // step\n'
      : (opts.chunk ?? 'A streamed review sentence with **bold**, `code`, and ordinary prose.\n\n')
    const streamSeed = opts.code ? '```ts\n' : ''

    await cdp.send('Runtime.enable')

    const ok = await cdp.eval(setup(tiles, seedTurns, streamSeed, zones, seedSessions, streaming, dead, tools))

    if (ok !== 'ok') {
      throw new Error(`multitab setup failed (${ok}) — dev hooks missing? (needs a dev/probe renderer)`)
    }

    // Mount every tab (keep-alive mounts on first activation), then settle.
    // Each reveal is timed to the next paint — with deep transcripts the
    // first mount is the "why does switching tabs hang" number.
    const revealMs = []

    for (let n = 1; n <= tiles; n++) {
      const ms = Number(
        await cdp.eval(`
          new Promise(resolve => {
            const t0 = performance.now()
            ${reveal(`perf-tile-${n}`)}
            requestAnimationFrame(() => requestAnimationFrame(() => resolve(performance.now() - t0)))
          })
        `)
      )

View on GitHub (pinned to c896c09c42)

Solutions

  1. Run the scenario against a dev build of the desktop app where dev hooks are installed.
  2. Confirm the renderer exposes the perf probe hooks and retry the setup step.

When it happens

Trigger: Thrown at apps/desktop/scripts/perf/scenarios/multitab.mjs:325 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/c1f411dd950529cb. Report an issue: GitHub.