{"record":{"id":"044f2ff5bec57723","repo":"zeroclaw-labs/zeroclaw","slug":"google-oauth-error","errorCode":null,"errorMessage":"Google OAuth error: {} - {}","messagePattern":"Google OAuth error: (.+?) - (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-providers/src/auth/gemini_oauth.rs","lineNumber":126,"sourceCode":"        (\"code_verifier\", &pkce.code_verifier),\n    ];\n\n    let response = client\n        .post(GOOGLE_OAUTH_TOKEN_URL)\n        .form(&form)\n        .send()\n        .await\n        .context(\"Failed to send token exchange request\")?;\n\n    let status = response.status();\n    let body = response\n        .text()\n        .await\n        .context(\"Failed to read token response body\")?;\n\n    if !status.is_success() {\n        if let Ok(err) = serde_json::from_str::<OAuthErrorResponse>(&body) {\n            anyhow::bail!(\n                \"Google OAuth error: {} - {}\",\n                err.error,\n                err.error_description.unwrap_or_default()\n            );\n        }\n        anyhow::bail!(\"Google OAuth token exchange failed ({}): {}\", status, body);\n    }\n\n    let token_response: TokenResponse =\n        serde_json::from_str(&body).context(\"Failed to parse token response\")?;\n\n    let expires_at = token_response\n        .expires_in\n        .map(|secs| Utc::now() + chrono::Duration::seconds(secs));\n\n    Ok(TokenSet {\n        access_token: token_response.access_token,\n        refresh_token: token_response.refresh_token,","sourceCodeStart":108,"sourceCodeEnd":144,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-providers/src/auth/gemini_oauth.rs#L108-L144","documentation":"Error \"Google OAuth error: {} - {}\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-providers/src/auth/gemini_oauth.rs:126 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the Google OAuth error code and description; fix client ID/secret or requested scopes accordingly."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}