Back to Signal Feed
CodeTracked since May 19, 2026

Demote Google JSON parse failures to warnings in browser-use

This change lowers log severity for JSON parse failures in `ChatGoogle._make_api_call` by replacing `logger.error` with `logger.warning` in both structured-output and fallback parse paths, while keeping `ModelProviderError(500)` and retry behavior unchanged, so recoverable parse hiccups no longer generate repeated ERROR spam.

ChatGoogle._make_api_callbrowser_use/llm/google/chat.pylogger.errorlogger.warning

What Happened

  • This change lowers log severity for JSON parse failures in `ChatGoogle._make_api_call` by replacing `logger.error` with `logger.warning` in both structured-output and fallback parse paths, while keeping `ModelProviderError(500)` and retry behavior unchanged, so recoverable parse hiccups no longer generate repeated ERROR spam.
  • This change lowers log severity for JSON parse failures in `ChatGoogle._make_api_call` by replacing `logger.error` with `logger.warning` in both structured-output and fallback parse paths, while keeping `ModelProviderError(500)` and retry behavior unchanged, so recoverable parse hiccups no longer generate repeated ERROR spam.
  • 1 evidence item attached for review.

What is Different

Before

Scattered source updates, isolated context, and manual follow-up across multiple feeds.

Now

Demoted JSON parse failure logging in both Google parse paths from error to warning, aligning behavior with the existing Vercel chat path without altering request semantics or retry control.

Why Track This

Why It Matters

Operators watching browser-use production logs get fewer noisy alerts when a Google response parse is temporarily bad, because retry attempts are no longer reported as repeated errors and will be easier to distinguish from truly hard failures. The technical change is limited to log level in both parse branches, with the same exception and status propagation (`ModelProviderError(500)`) into the same retry loop (up to 5 retries for retryable statuses); teams should continue watching whether repeated warning bursts still obscure real final-failure diagnosis and whether alert thresholds need retuning.

Impact

Operators watching browser-use production logs get fewer noisy alerts when a Google response parse is temporarily bad, because retry attempts are no longer reported as repeated errors and will be easier to distinguish from truly hard failures. The technical change is limited to log level in both parse branches, with the same exception and status propagation (`ModelProviderError(500)`) into the same retry loop (up to 5 retries for retryable statuses); teams should continue watching whether repeated warning bursts still obscure real final-failure diagnosis and whether alert thresholds need retuning.

What To Watch Next

  • Watch whether ChatGoogle._make_api_call becomes a repeated pattern.
  • Track follow-up changes around Observability and Tracing.
  • Compare future signals against this evidence trail.
  • Re-check risk flags: warning_flood_from_retries, reduced_error_visibility_for_partial_failures.
Open Topic TimelineOpen Technical EventOpen Original Sourcewarning_flood_from_retries / reduced_error_visibility_for_partial_failures / alert_threshold_recalibration_needed

Supporting Evidence