{"record":{"id":"5e81b8db63013fb8","repo":"paperclipai/paperclip","slug":"configured-pi-model-is-unavailable-model-avai","errorCode":null,"errorMessage":"Configured Pi model is unavailable: ${model}. Available models: ${sample}${models.length > 12 ? \", ...\" : \"\"}","messagePattern":"Configured Pi model is unavailable: (.+?)\\. Available models: (.+?)(.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/adapters/pi-local/src/server/models.ts","lineNumber":192,"sourceCode":"}): Promise<AdapterModel[]> {\n  const model = asString(input.model, \"\").trim();\n  if (!model) {\n    throw new Error(\"Pi requires `adapterConfig.model` in provider/model format.\");\n  }\n\n  const models = await discoverPiModelsCached({\n    command: input.command,\n    cwd: input.cwd,\n    env: input.env,\n  });\n\n  if (models.length === 0) {\n    throw new Error(\"Pi returned no models. Run `pi --list-models` and verify provider auth.\");\n  }\n\n  if (!models.some((entry) => entry.id === model)) {\n    const sample = models.slice(0, 12).map((entry) => entry.id).join(\", \");\n    throw new Error(\n      `Configured Pi model is unavailable: ${model}. Available models: ${sample}${models.length > 12 ? \", ...\" : \"\"}`,\n    );\n  }\n\n  return models;\n}\n\nexport async function listPiModels(): Promise<AdapterModel[]> {\n  try {\n    return await discoverPiModelsCached();\n  } catch {\n    return [];\n  }\n}\n\nexport function resetPiModelsCacheForTests() {\n  discoveryCache.clear();\n}","sourceCodeStart":174,"sourceCodeEnd":210,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/adapters/pi-local/src/server/models.ts#L174-L210","documentation":"Error \"Configured Pi model is unavailable: ${model}. Available models: ${sample}${models.length > 12 ? \", ...\" : \"\"}\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/adapters/pi-local/src/server/models.ts:192 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Choose one of the listed available Pi models for adapterConfig.model."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}