{"record":{"id":"9588ac7909ae4717","repo":"diegosouzapw/OmniRoute","slug":"paid-model-target-blocked-9588ac","errorCode":"PAID_MODEL_TARGET_BLOCKED","errorMessage":"This field cannot target a paid-only model while 'Hide paid models' is enabled.","messagePattern":"This field cannot target a paid-only model while 'Hide paid models' is enabled\\.","errorType":"http","errorClass":null,"httpStatus":400,"severity":"error","filePath":"src/app/api/settings/combo-defaults/route.ts","lineNumber":113,"sourceCode":"    if (isValidationFailure(validation)) {\n      return NextResponse.json({ error: validation.error }, { status: 400 });\n    }\n    const body = validation.data;\n\n    // #6540: reject a paid-only handoffModel target when hidePaidModels is on.\n    // Fails open on \"unknown\" (aliases/combo names) — mirrors the settings\n    // route's PAID_MODEL_TARGET_BLOCKED check.\n    if (\n      typeof body.comboDefaults?.handoffModel === \"string\" &&\n      body.comboDefaults.handoffModel.trim() !== \"\"\n    ) {\n      const currentSettings: any = await getSettings();\n      if (currentSettings?.hidePaidModels === true) {\n        if (isPaidModelTarget(body.comboDefaults.handoffModel) === \"paid\") {\n          return NextResponse.json(\n            {\n              error: {\n                code: \"PAID_MODEL_TARGET_BLOCKED\",\n                message:\n                  \"This field cannot target a paid-only model while 'Hide paid models' is enabled.\",\n              },\n            },\n            { status: 400 }\n          );\n        }\n      }\n    }\n\n    const updates: Record<string, any> = {};\n\n    if (body.comboDefaults) {\n      updates.comboDefaults = sanitizeComboRuntimeConfig(body.comboDefaults);\n    }\n    if (body.providerOverrides) {\n      updates.providerOverrides = sanitizeProviderOverrides(body.providerOverrides);\n    }","sourceCodeStart":95,"sourceCodeEnd":131,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/app/api/settings/combo-defaults/route.ts#L95-L131","documentation":"Error \"This field cannot target a paid-only model while 'Hide paid models' is enabled.\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/app/api/settings/combo-defaults/route.ts:113 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"}