{"record":{"id":"e0f4a90be0cbe31b","repo":"xai-org/grok-build","slug":"tool-not-available-use-search-tool-to-find-availa","errorCode":null,"errorMessage":"Tool not available. Use search_tool to find available tools.","messagePattern":"Tool not available\\. Use search_tool to find available tools\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/codegen/xai-grok-shell/src/session/acp_session_impl/tool_calls.rs","lineNumber":1357,"sourceCode":"                        .kind(acp::ToolKind::Other)\n                        .status(acp::ToolCallStatus::Pending)\n                        .raw_input(early_raw_input)\n                        .meta(meta),\n                ),\n                None,\n            )\n            .await;\n        }\n        let mcp_parts = parse_mcp_tool_name(&call.function.name);\n        let is_mcp_tool = mcp_parts.is_some();\n        if is_mcp_tool && !self.mcp_state.lock().await.is_initialized() {\n            match self.mcp_strategy.get() {\n                McpInitStrategy::Blocking => {\n                    let _span = tracing::info_span!(\"tool.wait_mcp_init\").entered();\n                    self.wait_for_mcp_initialized().await;\n                }\n                McpInitStrategy::Progressive => {\n                    let err = anyhow::anyhow!(\n                        \"Tool not available. Use search_tool to find available tools.\"\n                    );\n                    let followups = self\n                        .handle_tool_error(\n                            &tool_call_id,\n                            &call.id,\n                            &call.function.name,\n                            None,\n                            &err,\n                            &model_id_str,\n                        )\n                        .await;\n                    deferred_followups.extend(followups);\n                    return Ok(Err(ToolLoop::NonExistingTool));\n                }\n            }\n        }\n        let args_str = crate::session::helpers::tool_input_parsing::normalize_empty_arguments(","sourceCodeStart":1339,"sourceCodeEnd":1375,"githubUrl":"https://github.com/xai-org/grok-build/blob/bc7f02eddd3d84085849dc19ed216f11c23b0571/crates/codegen/xai-grok-shell/src/session/acp_session_impl/tool_calls.rs#L1339-L1375","documentation":"Error \"Tool not available. Use search_tool to find available tools.\" thrown in xai-org/grok-build.","triggerScenarios":"Thrown at crates/codegen/xai-grok-shell/src/session/acp_session_impl/tool_calls.rs:1357 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bc7f02eddd3d84085849dc19ed216f11c23b0571","analyzedAt":"2026-08-31T04:59:42.031Z","schemaVersion":2},"datasetVersion":"2026-08-31T09:17:48.483Z"}