Description
Browser provider modules make requests.post() calls without catching requests.RequestException. Connection timeouts, DNS resolution failures, and network errors propagate as raw exceptions instead of actionable error messages.
Affected Files
| File |
Line |
Call |
tools/browser_providers/browser_use.py |
43-48 |
requests.post() in create_session() |
tools/browser_providers/browserbase.py |
83-121 |
Multiple requests.post() calls with 402 retry logic |
Impact
When the browser provider API is unreachable (e.g., network down, DNS failure), users see a raw requests.ConnectionError traceback instead of a clear "connection failed" message.
Fix
Wrap network calls in try/except requests.RequestException and re-raise as RuntimeError with a descriptive message.
Description
Browser provider modules make
requests.post()calls without catchingrequests.RequestException. Connection timeouts, DNS resolution failures, and network errors propagate as raw exceptions instead of actionable error messages.Affected Files
tools/browser_providers/browser_use.pyrequests.post()increate_session()tools/browser_providers/browserbase.pyrequests.post()calls with 402 retry logicImpact
When the browser provider API is unreachable (e.g., network down, DNS failure), users see a raw
requests.ConnectionErrortraceback instead of a clear "connection failed" message.Fix
Wrap network calls in
try/except requests.RequestExceptionand re-raise asRuntimeErrorwith a descriptive message.