zeroclaw-labs/zeroclaw · error

tool http linker

Error message

tool http linker

What it means

Error "tool http linker" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-plugins/src/runtime.rs:64

        "failed to add tool plugin imports to linker",
    )?;
    Ok(linker)
}

/// Cached linker for plugins without `HttpClient`: base WASI plus the tool
/// world, no network.
fn tool_linker() -> &'static Linker<PluginState> {
    static LINKER: OnceLock<Linker<PluginState>> = OnceLock::new();
    LINKER.get_or_init(|| base_linker().expect("tool linker"))
}

/// Cached linker for `HttpClient` plugins: the base surface plus `wasi:http`.
/// Built only once, on first use by an HTTP-granted plugin.
fn tool_linker_http() -> &'static Linker<PluginState> {
    static LINKER: OnceLock<Linker<PluginState>> = OnceLock::new();
    LINKER.get_or_init(|| {
        let mut linker = base_linker().expect("tool linker");
        crate::component::add_wasi_http(&mut linker).expect("tool http linker");
        linker
    })
}

/// Compile and instantiate a tool plugin under one host-issued scope.
///
/// The scope decides whether the store carries an outbound-HTTP context and
/// whether the linker exposes `wasi:http`; deriving both from the same scope
/// prevents authority from drifting between instantiation and execution.
pub async fn create_plugin(
    wasm_path: &Path,
    scope: &PluginInstanceScope,
    limits: crate::component::PluginLimits,
) -> Result<Plugin> {
    scope.require_capability(PluginCapability::Tool)?;
    let component = load_component(wasm_path)?;
    let mut store = crate::component::new_store(
        PluginStoreSpec::new(scope.clone(), limits).with_granted_http(),

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Ensure the HTTP-capable linker is configured before loading plugins that use HTTP host functions.
  2. Enable the required plugin HTTP feature and restart the runtime.

When it happens

Trigger: Thrown at crates/zeroclaw-plugins/src/runtime.rs:64 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23). Data as JSON: /api/errors/059c8657a5330c48. Report an issue: GitHub.