{"record":{"id":"8bd2508ada383aee","repo":"warpdotdev/warp","slug":"cannot-list-agents-authorization-required-but-no","errorCode":null,"errorMessage":"Cannot list agents: authorization required but no auth flow provided","messagePattern":"Cannot list agents: authorization required but no auth flow provided","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/src/ai/agent_sdk/agent_config.rs","lineNumber":199,"sourceCode":"                                        ctx.terminate_app(\n                                            TerminationMode::ForceTerminate,\n                                            Some(Err(anyhow::anyhow!(\n                                                \"Error polling OAuth status: {err}\"\n                                            ))),\n                                        );\n                                    }\n                                }\n                            });\n                        }\n                        (Some(auth_url), None) => {\n                            println!(\"\\nAuthorize access here: {auth_url}\\n\");\n                            println!(\"After authorizing, please re-run this command.\");\n                            ctx.terminate_app(TerminationMode::ForceTerminate, None);\n                        }\n                        _ => {\n                            ctx.terminate_app(\n                                TerminationMode::ForceTerminate,\n                                Some(Err(anyhow::anyhow!(\n                                    \"Cannot list agents: authorization required but no auth flow provided\"\n                                ))),\n                            );\n                        }\n                    }\n                }\n                Err(e) => {\n                    ctx.terminate_app(\n                        TerminationMode::ForceTerminate,\n                        Some(Err(e.context(\"Failed to check GitHub auth status\"))),\n                    );\n                }\n            }\n        });\n    }\n\n    fn fetch_and_display_agents(&self, repo: Option<String>, ctx: &mut ModelContext<Self>) {\n        let ai_client = ServerApiProvider::handle(ctx).as_ref(ctx).get_ai_client();","sourceCodeStart":181,"sourceCodeEnd":217,"githubUrl":"https://github.com/warpdotdev/warp/blob/e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc/app/src/ai/agent_sdk/agent_config.rs#L181-L217","documentation":"The GitHub auth-status check said authorization is required, but the response carried no auth_url (the match's `_` arm at app/src/ai/agent_sdk/agent_config.rs:199 — both the (Some, Some) polling branch and the (Some, None) print-URL branch need an auth_url). The CLI therefore has no flow to offer and force-terminates. It indicates a server/client contract mismatch or an integration state the CLI cannot self-heal.","triggerScenarios":"Server returns an auth-required status without an auth_url in the payload; an older client not understanding a newer response shape; the integration stuck in a broken server-side state.","commonSituations":"Client/server version skew; partial integration state after a revoked grant; environments where the integrations API behaves differently.","solutions":["Authenticate the GitHub integration from the Warp app settings, which runs the full flow, then re-run the command","Update to a current build to remove version skew with the integrations API","Run the list command without --repo (it skips the GitHub auth check) to confirm the rest works"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Before scripting `list --repo`, confirm the integration already reports authorized\n// (via the integrations client) so the no-auth_url path is never exercised.","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Complete the GitHub integration setup from the app UI once, then script the CLI","Update the client when the integrations API changes shape"],"tags":["github","integrations","oauth","cli"],"backgroundTag":null,"analyzedSha":"e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc","analyzedAt":"2026-08-16T08:27:25.381Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}