xai-org/grok-build · error · acp::Error

-32601

-32601

Error message

Method not found: {unknown}

What it means

Standard JSON-RPC -32601 Method not found, produced by the ACP ext-method dispatcher when the request's method name does not match any registered 'x.ai/*' ext method (ask_user_question, exit_plan_mode, mcp/elicit). The unknown method string is echoed into the message.

Source

Thrown at crates/codegen/xai-grok-pager/src/app/acp_handler/mod.rs:650

            return false;
        }
    }

    agent
        .scrollback
        .push_block(RenderBlock::interjection_prompt(text));
    is_active
}

fn handle_ext_method(ext: xai_acp_lib::AcpArgs<acp::ExtRequest>, app: &mut AppView) -> bool {
    match ext.request.method.as_ref() {
        "x.ai/ask_user_question" => handle_ask_user_question(ext, app),
        "x.ai/exit_plan_mode" => handle_exit_plan_mode(ext, app),
        "x.ai/mcp/elicit" => handle_mcp_elicit(ext, app),
        unknown => {
            tracing::warn!("Unknown ext_method: {unknown}");
            ext.response_tx
                .send(Err(acp::Error::new(
                    -32601,
                    format!("Method not found: {unknown}"),
                )))
                .ok();
            false
        }
    }
}

#[cfg(test)]
mod tests;

View on GitHub (pinned to bc7f02eddd)

Solutions

  1. Check the exact method string sent — it must match one of the registered x.ai/* methods exactly
  2. Fix typos or casing in the method name
  3. Update the client if the method was renamed/removed in the server version
  4. Add the method to the dispatcher match if you own the server code

Example fix

// before
ext_method("x.ai/ask-user-question", params)   // hyphen instead of underscore
// after
ext_method("x.ai/ask_user_question", params)
Defensive patterns

Strategy: validation

Validate before calling

const SUPPORTED = ["x.ai/ask_user_question", "x.ai/exit_plan_mode", "x.ai/mcp/elicit"];
if (!SUPPORTED.includes(method)) throw new Error(`unsupported ext method: ${method}`);

Try / catch

match reply { Err(e) if e.code == -32601 => eprintln!("method unsupported: {}", e.message), Ok(r) => use(r) }

Prevention

When it happens

Trigger: Sending an ExtRequest to handle_ext_method with a method string other than 'x.ai/ask_user_question', 'x.ai/exit_plan_mode', or 'x.ai/mcp/elicit' — e.g. a typo, wrong casing, or a method this build does not register.

Common situations: Client calling a method renamed between crate versions; misspelling the x.ai/ prefix; calling a desktop-only ext method from a build where it was removed.

Related errors


AI-assisted analysis of xai-org/grok-build@bc7f02eddd (2026-08-31). Data as JSON: /api/errors/c9924de0f60fe0a7. Report an issue: GitHub.