diff --git a/.env.example b/.env.example index 89cd9a2cd..1ec212851 100644 --- a/.env.example +++ b/.env.example @@ -64,3 +64,7 @@ BROWSER_USE_API_KEY=your_bu_api_key_here # BROWSER_USE_NO_PROXY=localhost,127.0.0.1,*.internal # BROWSER_USE_PROXY_USERNAME=username # BROWSER_USE_PROXY_PASSWORD=password + +# Version Check +# Enable/disable checking for newer browser-use versions on agent startup +BROWSER_USE_VERSION_CHECK=true diff --git a/browser_use/agent/service.py b/browser_use/agent/service.py index 6d73dcf9f..8b36d6a64 100644 --- a/browser_use/agent/service.py +++ b/browser_use/agent/service.py @@ -1363,11 +1363,12 @@ class Agent(Generic[Context, AgentStructuredOutput]): self.logger.debug(f'🤖 Browser-Use Library Version {self.version} ({self.source})') # Check for latest version and log upgrade message if needed - latest_version = await check_latest_browser_use_version() - if latest_version and latest_version != self.version: - self.logger.info( - f'📦 Newer version available: {latest_version} (current: {self.version}). Upgrade with: uv add browser-use=={latest_version}' - ) + if CONFIG.BROWSER_USE_VERSION_CHECK: + latest_version = await check_latest_browser_use_version() + if latest_version and latest_version != self.version: + self.logger.info( + f'📦 Newer version available: {latest_version} (current: {self.version}). Upgrade with: uv add browser-use=={latest_version}' + ) def _log_first_step_startup(self) -> None: """Log startup message only on the first step""" diff --git a/browser_use/config.py b/browser_use/config.py index 02c13136e..9cea1e579 100644 --- a/browser_use/config.py +++ b/browser_use/config.py @@ -172,6 +172,10 @@ class OldConfig: def IS_IN_EVALS(self) -> bool: return os.getenv('IS_IN_EVALS', 'false').lower()[:1] in 'ty1' + @property + def BROWSER_USE_VERSION_CHECK(self) -> bool: + return os.getenv('BROWSER_USE_VERSION_CHECK', 'true').lower()[:1] in 'ty1' + @property def WIN_FONT_DIR(self) -> str: return os.getenv('WIN_FONT_DIR', 'C:\\Windows\\Fonts') @@ -213,6 +217,7 @@ class FlatEnvConfig(BaseSettings): IN_DOCKER: bool | None = Field(default=None) IS_IN_EVALS: bool = Field(default=False) WIN_FONT_DIR: str = Field(default='C:\\Windows\\Fonts') + BROWSER_USE_VERSION_CHECK: bool = Field(default=True) # MCP-specific env vars BROWSER_USE_CONFIG_PATH: str | None = Field(default=None)