{"record":{"id":"0e5913b7a83c0bde","repo":"JuliusBrussee/caveman","slug":"unknown-argument-s-unknown-sort-join","errorCode":null,"errorMessage":"unknown argument(s): ${unknown.sort().join(\", \")}","messagePattern":"unknown argument\\(s\\): (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/agent-mcp.ts","lineNumber":546,"sourceCode":"  if (cursor !== undefined) {\n    if (!cursor || typeof cursor !== \"object\" || Array.isArray(cursor)) throw new Error(\"cursor must be an object\");\n    const unknown = Object.keys(cursor).filter((key) => key !== \"sort_value\" && key !== \"request_id\" && key !== \"group_key\");\n    if (unknown.length > 0) throw new Error(`cursor has unknown key(s): ${unknown.sort().join(\", \")}`);\n    if (typeof cursor.sort_value !== \"string\" || cursor.sort_value === \"\") throw new Error(\"cursor.sort_value is required\");\n    for (const key of [\"request_id\", \"group_key\"]) {\n      if (cursor[key] !== undefined && typeof cursor[key] !== \"string\") throw new Error(`cursor.${key} must be a string`);\n    }\n  }\n}\n\nasync function callTool(client: AgentMcpClient, name: string, rawArgs: unknown): Promise<ToolResult> {\n  const started = Date.now();\n  let outcome: \"ok\" | \"error\" = \"ok\";\n  try {\n    const args = objectArg(rawArgs);\n    const allowed = TOOL_ARGUMENT_KEYS[name];\n    const unknown = Object.keys(args).filter((key) => !allowed?.has(key));\n    if (unknown.length > 0) throw new Error(`unknown argument(s): ${unknown.sort().join(\", \")}`);\n    let value: JSONValue;\n    switch (name) {\n      case \"caveman_context\": {\n        const [identity, projects, selectedProjectId] = await Promise.all([\n          client.request(\"/api/v1/auth/me\"),\n          client.request(\"/api/v1/projects\"),\n          client.projectId(),\n        ]);\n        value = { identity, projects, selected_project_id: selectedProjectId };\n        break;\n      }\n      case \"caveman_report\": {\n        const report = stringArg(args, \"report\");\n        const reportPath = REPORT_PATHS[report];\n        if (!reportPath) throw new Error(`unknown report: ${report}`);\n        value = await client.request(await withProjectQuery(client, reportPath));\n        break;\n      }","sourceCodeStart":528,"sourceCodeEnd":564,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/packages/cli/src/agent-mcp.ts#L528-L564","documentation":"Error \"unknown argument(s): ${unknown.sort().join(\", \")}\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at packages/cli/src/agent-mcp.ts:546 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the unknown argument(s); check the tool schema for accepted arguments."],"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-15T17:31:12.345Z"}