{"record":{"id":"f2ccbb24f2235b30","repo":"eyaltoledano/claude-task-master","slug":"invalid-response-f2ccbb","errorCode":"INVALID_RESPONSE","errorMessage":"No authorization URL returned","messagePattern":"No authorization URL returned","errorType":"error_code","errorClass":"AuthenticationError","httpStatus":null,"severity":"error","filePath":"packages/tm-core/src/modules/integration/clients/supabase-client.ts","lineNumber":157,"sourceCode":"\t\t\tconst { data, error } = await client.auth.signInWithOAuth({\n\t\t\t\tprovider: 'github',\n\t\t\t\toptions: {\n\t\t\t\t\tredirectTo:\n\t\t\t\t\t\tprocess.env.TM_AUTH_CALLBACK_URL ||\n\t\t\t\t\t\t'http://localhost:3421/auth/callback',\n\t\t\t\t\tscopes: 'email'\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (error) {\n\t\t\t\tthrow new AuthenticationError(\n\t\t\t\t\t`Failed to initiate PKCE flow: ${error.message}`,\n\t\t\t\t\t'PKCE_INIT_FAILED'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!data?.url) {\n\t\t\t\tthrow new AuthenticationError(\n\t\t\t\t\t'No authorization URL returned',\n\t\t\t\t\t'INVALID_RESPONSE'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Extract code_verifier from the URL or generate it\n\t\t\t// Note: Supabase handles PKCE internally, we just need to handle the callback\n\t\t\treturn {\n\t\t\t\turl: data.url,\n\t\t\t\tcodeVerifier: '' // Supabase manages this internally\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tif (error instanceof AuthenticationError) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tthrow new AuthenticationError(\n\t\t\t\t`Failed to start PKCE flow: ${(error as Error).message}`,","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/eyaltoledano/claude-task-master/blob/c0c98d367c55296bfe69e65680625b6db437af02/packages/tm-core/src/modules/integration/clients/supabase-client.ts#L139-L175","documentation":"signInWithPKCE throws AuthenticationError with code INVALID_RESPONSE when the Supabase OAuth initiation succeeds (no error) but the returned data contains no authorization URL. A valid PKCE initiation must produce data.url to redirect the user to.","triggerScenarios":"Calling signInWithPKCE() and receiving { data: undefined } or { data: { url: undefined } } from signInWithOAuth — typically a client/SDK configuration issue or unexpected provider response.","commonSituations":"Outdated @supabase/supabase-js versions with changed return shapes, provider misconfiguration returning empty data, or corrupted client initialization.","solutions":["Upgrade @supabase/supabase-js to the latest version","Verify the provider and redirect configuration in Supabase","Catch this error and surface it to the user; retry after fixing config"],"exampleFix":"null","handlingStrategy":"try-catch","validationCode":"null","typeGuard":"null","tryCatchPattern":"try {\n  await client.signInWithPKCE();\n} catch (e) {\n  if (e instanceof AuthenticationError && e.code === 'INVALID_RESPONSE') {\n    // retry once, then surface SDK/config issue to the user\n  }\n}","preventionTips":["Pin and regularly update @supabase/supabase-js","Add an integration test covering the full PKCE sign-in initiation","Log the raw signInWithOAuth response when debugging provider setup"],"tags":["auth","oauth","pkce","invalid-response"],"backgroundTag":"invalid-auth-response","analyzedSha":"c0c98d367c55296bfe69e65680625b6db437af02","analyzedAt":"2026-08-29T02:56:26.071Z","schemaVersion":2},"datasetVersion":"2026-08-29T07:17:48.351Z"}