{"record":{"id":"ab0a1789a581655f","repo":"diegosouzapw/OmniRoute","slug":"duplicate-account-ab0a17","errorCode":"duplicate_account","errorMessage":"A Codex connection for this account already exists. Pass overwriteExisting: true to replace it.","messagePattern":"A Codex connection for this account already exists\\. Pass overwriteExisting: true to replace it\\.","errorType":"exception","errorClass":"CodexAuthFileError","httpStatus":409,"severity":"error","filePath":"src/lib/oauth/utils/codexAuthImport.ts","lineNumber":191,"sourceCode":"    expiresAt: extractExpiresAt(accessToken, idToken),\n  };\n}\n\n// ──── Create / update connection ──────────────────────────────────────────────\n\nexport async function createConnectionFromAuthFile(\n  parsed: ParsedCodexAuth,\n  options: CreateConnectionOptions\n): Promise<{ connection: JsonRecord; created: boolean }> {\n  const existing = await findExistingCodexConnection(\n    parsed.accountId,\n    parsed.userId,\n    options.email || parsed.email || null\n  );\n\n  if (existing) {\n    if (!options.overwriteExisting) {\n      throw new CodexAuthFileError(\n        \"A Codex connection for this account already exists. Pass overwriteExisting: true to replace it.\",\n        409,\n        \"duplicate_account\"\n      );\n    }\n\n    const updated = await updateProviderConnection(existing.id as string, {\n      accessToken: parsed.accessToken,\n      refreshToken: parsed.refreshToken,\n      idToken: parsed.idToken,\n      expiresAt: parsed.expiresAt,\n      email: options.email || parsed.email || (existing.email as string | undefined),\n      name:\n        options.name ||\n        (existing.name as string | undefined) ||\n        options.email ||\n        parsed.email ||\n        \"Codex (imported)\",","sourceCodeStart":173,"sourceCodeEnd":209,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/oauth/utils/codexAuthImport.ts#L173-L209","documentation":"Error \"A Codex connection for this account already exists. Pass overwriteExisting: true to replace it.\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/oauth/utils/codexAuthImport.ts:191 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"}