{"record":{"id":"76b692153ac42a34","repo":"musistudio/claude-code-router","slug":"a-browser-target-object-is-required","errorCode":null,"errorMessage":"A browser target object is required.","messagePattern":"A browser target object is required\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/electron/src/main/browser-automation-mcp.ts","lineNumber":3152,"sourceCode":"      matched = false;\n    }\n    checks.push({ matched, type: \"selector\" });\n  }\n  if (condition.text) {\n    const pageText = (document.body?.innerText || \"\").toLowerCase();\n    checks.push({ matched: pageText.includes(condition.text.toLowerCase()), type: \"text\" });\n  }\n  return {\n    checks,\n    matched: checks.length > 0 && checks.every((check) => check.matched),\n    title: document.title,\n    url: location.href\n  };\n};\n\nfunction readTarget(value: unknown): BrowserTarget {\n  if (!isRecord(value)) {\n    throw new Error(\"A browser target object is required.\");\n  }\n  return {\n    axNodeId: readString(value.axNodeId),\n    backendNodeId: readNumber(value.backendNodeId),\n    exact: value.exact === true,\n    index: clampInteger(readNumber(value.index) ?? 0, 0, 10000),\n    ref: readString(value.ref) || readString(value.axNodeId),\n    role: readString(value.role),\n    selector: readString(value.selector),\n    text: readString(value.text)\n  };\n}\n\nfunction requiredString(value: unknown, message: string): string {\n  const text = readString(value);\n  if (!text) {\n    throw new Error(message);\n  }","sourceCodeStart":3134,"sourceCodeEnd":3170,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/electron/src/main/browser-automation-mcp.ts#L3134-L3170","documentation":"Error \"A browser target object is required.\" thrown in musistudio/claude-code-router.","triggerScenarios":"Thrown at packages/electron/src/main/browser-automation-mcp.ts:3152 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":"99f24806c6a2c660b16e53e95211c517448a6c90","analyzedAt":"2026-08-27T04:11:01.184Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}