From f34d401c2e580d79a66461d95c0692309ba68fbd Mon Sep 17 00:00:00 2001 From: "Rodrigo Rodriguez (Pragmatismo)" Date: Tue, 10 Mar 2026 15:21:40 -0300 Subject: [PATCH] feat: handle 429 rate limit in OpenAI client --- src/llm/mod.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/llm/mod.rs b/src/llm/mod.rs index 6fd3ba29..60cbb26c 100644 --- a/src/llm/mod.rs +++ b/src/llm/mod.rs @@ -404,6 +404,13 @@ impl LLMProvider for OpenAIClient { let status = response.status(); if status != reqwest::StatusCode::OK { let error_text = response.text().await.unwrap_or_default(); + + // Handle 429 rate limit with user-friendly message + if status == reqwest::StatusCode::TOO_MANY_REQUESTS { + let _ = tx.send("Server is busy, please try again in a few seconds...".to_string()).await; + return Err("Rate limit exceeded".into()); + } + error!("LLM generate_stream error: {}", error_text); return Err(format!("LLM request failed with status: {}", status).into()); }