{"record":{"id":"65f423dbd350e4bc","repo":"diegosouzapw/OmniRoute","slug":"cursor-availablemodels-failed-response-status","errorCode":null,"errorMessage":"Cursor AvailableModels failed: ${response.status}${text ? ` ${text.slice(0, 200)}` : \"\"}","messagePattern":"Cursor AvailableModels failed: (.+?)(.+?)` : \"\"\\}","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/lib/providerModels/cursorAvailableModels.ts","lineNumber":170,"sourceCode":"  const headers = {\n    ...cursorService.buildHeaders(accessToken, machineId),\n    // Prefer Connect JSON so we can parse without a protobuf schema\n    \"Content-Type\": \"application/json\",\n    Accept: \"application/json\",\n  };\n\n  const url = `${CURSOR_CONFIG.apiEndpoint}${CURSOR_CONFIG.modelsEndpoint}`;\n  const fetchImpl = options.fetchImpl || fetch;\n  const response = await fetchImpl(url, {\n    method: \"POST\",\n    headers,\n    body: \"{}\",\n    signal,\n  });\n\n  if (!response.ok) {\n    const text = await response.text().catch(() => \"\");\n    throw new Error(\n      `Cursor AvailableModels failed: ${response.status}${text ? ` ${text.slice(0, 200)}` : \"\"}`\n    );\n  }\n\n  const contentType = response.headers.get(\"content-type\") || \"\";\n  if (contentType.includes(\"proto\") || contentType.includes(\"protobuf\")) {\n    throw new Error(\n      \"Cursor AvailableModels returned protobuf; JSON catalog unavailable for this client version\"\n    );\n  }\n\n  const payload = await response.json();\n  const models = normalizeCursorAvailableModelsPayload(payload);\n  if (models.length === 0) {\n    throw new Error(\"Cursor AvailableModels returned no models\");\n  }\n  return models;\n}","sourceCodeStart":152,"sourceCodeEnd":188,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/providerModels/cursorAvailableModels.ts#L152-L188","documentation":"Error \"Cursor AvailableModels failed: ${response.status}${text ? ` ${text.slice(0, 200)}` : \"\"}\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/providerModels/cursorAvailableModels.ts:170 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":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}