{"record":{"id":"e2b9b38a117cf77b","repo":"JuliusBrussee/caveman","slug":"unknown-tool-name","errorCode":null,"errorMessage":"unknown tool: ${name}","messagePattern":"unknown tool: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/agent-mcp.ts","lineNumber":601,"sourceCode":"          client.request(`/api/v1/traces/${traceId}/spans${projectQuery}`),\n        ]);\n        value = { trace: metadataOnlyTrace(trace), spans: metadataOnlySpans(spans) };\n        break;\n      }\n      case \"caveman_experiment_get\": {\n        const action = stringArg(args, \"action\");\n        if (![\"list\", \"get\", \"results\"].includes(action)) throw new Error(`unknown experiment read action: ${action}`);\n        if (action === \"list\") {\n          value = await client.request(await withProjectQuery(client, \"/api/v1/experiments\"));\n          break;\n        }\n        const experimentId = encodeURIComponent(stringArg(args, \"experiment_id\"));\n        const query = new URLSearchParams({ project_id: await client.projectId() });\n        value = await client.request(`/api/v1/experiments/${experimentId}${action === \"results\" ? \"/results\" : \"\"}?${query}`);\n        break;\n      }\n      default:\n        throw new Error(`unknown tool: ${name}`);\n    }\n    return result(value);\n  } catch (error) {\n    outcome = \"error\";\n    return errorResult(error);\n  } finally {\n    client.recordToolCall?.({ tool: name, result: outcome, durationMs: Date.now() - started });\n  }\n}\n\nfunction rpcError(id: JSONValue | undefined, code: number, message: string): JSONObject {\n  return { jsonrpc: \"2.0\", id: id ?? null, error: { code, message } };\n}\n\nasync function handleMessage(\n  client: AgentMcpClient,\n  message: unknown,\n  session: McpSessionState,","sourceCodeStart":583,"sourceCodeEnd":619,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/packages/cli/src/agent-mcp.ts#L583-L619","documentation":"Error \"unknown tool: ${name}\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at packages/cli/src/agent-mcp.ts:601 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Call a tool that exists on this MCP server; check the tool list for valid names."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}