{"record":{"id":"16a8c078d3e02900","repo":"warpdotdev/warp","slug":"github-authorization-expired-please-try-again","errorCode":null,"errorMessage":"GitHub authorization expired. Please try again.","messagePattern":"GitHub authorization expired\\. Please try again\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/src/ai/agent_sdk/agent_config.rs","lineNumber":167,"sourceCode":"\n                            ctx.spawn(poll_future, move |runner, poll_result, ctx| {\n                                match poll_result {\n                                    Ok(OauthConnectTxStatus::Completed) => {\n                                        // OAuth completed, retry\n                                        runner.auth_then_list(repos, next_attempt, repo_spec, ctx);\n                                    }\n                                    Ok(OauthConnectTxStatus::Failed) => {\n                                        ctx.terminate_app(\n                                            TerminationMode::ForceTerminate,\n                                            Some(Err(anyhow::anyhow!(\n                                                \"GitHub authorization failed. Please try again.\"\n                                            ))),\n                                        );\n                                    }\n                                    Ok(OauthConnectTxStatus::Expired) => {\n                                        ctx.terminate_app(\n                                            TerminationMode::ForceTerminate,\n                                            Some(Err(anyhow::anyhow!(\n                                                \"GitHub authorization expired. Please try again.\"\n                                            ))),\n                                        );\n                                    }\n                                    Ok(_) => {\n                                        ctx.terminate_app(\n                                            TerminationMode::ForceTerminate,\n                                            Some(Err(anyhow::anyhow!(\n                                                \"Unexpected OAuth status\"\n                                            ))),\n                                        );\n                                    }\n                                    Err(err) => {\n                                        ctx.terminate_app(\n                                            TerminationMode::ForceTerminate,\n                                            Some(Err(anyhow::anyhow!(\n                                                \"Error polling OAuth status: {err}\"\n                                            ))),","sourceCodeStart":149,"sourceCodeEnd":185,"githubUrl":"https://github.com/warpdotdev/warp/blob/e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc/app/src/ai/agent_sdk/agent_config.rs#L149-L185","documentation":"The polled OAuth connect transaction returned OauthConnectTxStatus::Expired (app/src/ai/agent_sdk/agent_config.rs:167): the pending transaction timed out before the user completed authorization in the browser. The app force-terminates with this message.","triggerScenarios":"Not completing the browser authorization before the transaction's expiry window elapses — e.g. starting the command, leaving the URL unvisited, and returning later.","commonSituations":"Command left running while the user steps away; slow org SSO login in the browser consuming the window; clock skew shortening perceived validity.","solutions":["Re-run the command and complete the authorization promptly after the URL is printed","Log in to GitHub and pass SSO in the browser first, so consent only takes seconds","Check for system clock skew if expirations seem immediate"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":["Complete browser authorization immediately after the URL prints","Log in to GitHub (and pass SSO) before starting the command so consent is quick"],"tags":["github","oauth","timeout","cli"],"backgroundTag":null,"analyzedSha":"e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc","analyzedAt":"2026-08-16T08:27:25.381Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}