{"record":{"id":"c9924de0f60fe0a7","repo":"xai-org/grok-build","slug":"32601-c9924d","errorCode":"-32601","errorMessage":"Method not found: {unknown}","messagePattern":"Method not found: (.+?)","errorType":"error_code","errorClass":"acp::Error","httpStatus":null,"severity":"error","filePath":"crates/codegen/xai-grok-pager/src/app/acp_handler/mod.rs","lineNumber":650,"sourceCode":"            return false;\n        }\n    }\n\n    agent\n        .scrollback\n        .push_block(RenderBlock::interjection_prompt(text));\n    is_active\n}\n\nfn handle_ext_method(ext: xai_acp_lib::AcpArgs<acp::ExtRequest>, app: &mut AppView) -> bool {\n    match ext.request.method.as_ref() {\n        \"x.ai/ask_user_question\" => handle_ask_user_question(ext, app),\n        \"x.ai/exit_plan_mode\" => handle_exit_plan_mode(ext, app),\n        \"x.ai/mcp/elicit\" => handle_mcp_elicit(ext, app),\n        unknown => {\n            tracing::warn!(\"Unknown ext_method: {unknown}\");\n            ext.response_tx\n                .send(Err(acp::Error::new(\n                    -32601,\n                    format!(\"Method not found: {unknown}\"),\n                )))\n                .ok();\n            false\n        }\n    }\n}\n\n#[cfg(test)]\nmod tests;\n","sourceCodeStart":632,"sourceCodeEnd":662,"githubUrl":"https://github.com/xai-org/grok-build/blob/bc7f02eddd3d84085849dc19ed216f11c23b0571/crates/codegen/xai-grok-pager/src/app/acp_handler/mod.rs#L632-L662","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Check the exact method string sent — it must match one of the registered x.ai/* methods exactly","Fix typos or casing in the method name","Update the client if the method was renamed/removed in the server version","Add the method to the dispatcher match if you own the server code"],"exampleFix":"// before\next_method(\"x.ai/ask-user-question\", params)   // hyphen instead of underscore\n// after\next_method(\"x.ai/ask_user_question\", params)","handlingStrategy":"validation","validationCode":"const SUPPORTED = [\"x.ai/ask_user_question\", \"x.ai/exit_plan_mode\", \"x.ai/mcp/elicit\"];\nif (!SUPPORTED.includes(method)) throw new Error(`unsupported ext method: ${method}`);","typeGuard":null,"tryCatchPattern":"match reply { Err(e) if e.code == -32601 => eprintln!(\"method unsupported: {}\", e.message), Ok(r) => use(r) }","preventionTips":["Keep a shared constant list of supported x.ai/* method names","Add a client-side check against the server's advertised capabilities","Avoid hand-typing method strings; use named constants"],"tags":["acp","json-rpc","method-not-found","dispatch"],"backgroundTag":"method-not-found","analyzedSha":"bc7f02eddd3d84085849dc19ed216f11c23b0571","analyzedAt":"2026-08-31T04:59:42.031Z","schemaVersion":2},"datasetVersion":"2026-08-31T09:17:48.483Z"}