tinyhumansai/openhuman · error

{} worker protocol authentication failed

Error message

{} worker protocol authentication failed

What it means

The worker completed the handshake but failed the token authentication step — the launch token handed to the process was not echoed back correctly, indicating a corrupted or foreign worker binary on the other end of the pipe.

Source

Thrown at src/openhuman/runtime/pool/worker.rs:199

        let ready: PoolReadyLine = serde_json::from_str(&ready_line)
            .with_context(|| format!("parsing worker ready line: {ready_line}"))?;
        if !ready.ready {
            bail!(
                "{} worker failed to start: {}",
                launch.lang.id(),
                ready.error.unwrap_or_else(|| "unknown".to_string())
            );
        }
        if ready.protocol != Some(PROTOCOL_VERSION) {
            bail!(
                "{} worker protocol mismatch: expected {}, got {:?}",
                launch.lang.id(),
                PROTOCOL_VERSION,
                ready.protocol
            );
        }
        if ready.protocol_token != expected_token {
            bail!("{} worker protocol authentication failed", launch.lang.id());
        }
        tracing::info!(lang = launch.lang.id(), "[runtime_pool] worker ready");

        Ok(Self {
            launch: launch.clone(),
            _child: child,
            stdin,
            responses: lines,
            jobs_done: 0,
            last_used: Instant::now(),
        })
    }

    /// Submit one job and await its response.
    ///
    /// `hard_timeout` is a **safety net** above the worker's own soft deadline:
    /// the worker aborts a job at `req.timeout_ms` and still replies, so this
    /// only fires if the worker itself has wedged. On `Err` the caller must

View on GitHub (pinned to 7491200858)

Solutions

  1. Re-provision the worker runtime (its code may be stale or tampered)
  2. Check for another process squatting on the spawn path
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/runtime/pool/worker.rs:199 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/9ffc664533b7398d. Report an issue: GitHub.