Browser Use and Anthropic's Computer Use represent the next generation of AI agents. They see screens like humans and interact with any website. This guide shows you how to configure mobile proxies for reliable vision-based automation.
Vision-based agents face unique detection challenges. Here's why mobile proxies are essential.
Websites detect headless browsers through rendering differences. Mobile proxies provide authentic device signatures that match the visual browser environment.
Computer Use agents generate unique mouse and click patterns. Anti-bot systems correlate these with IP reputation - mobile IPs have highest trust.
Vision agents need to see localized content. Mobile IPs from specific countries ensure agents access the right regional versions of websites.
Configure mobile proxies with the open-source Browser Use library.
Browser Use respects standard proxy environment variables. Set these before running your agent:
For more control, configure the proxy directly in Browser Use's browser context:
from browser_use import Agent, Browser, BrowserConfig
from langchain_anthropic import ChatAnthropic
# Configure browser with proxy
browser = Browser(
config=BrowserConfig(
proxy={
"server": "socks5://proxy.proxies.sx:10001",
"username": "your_username",
"password": "your_password"
},
headless=True, # Run headless for production
)
)
# Initialize agent with proxied browser
agent = Agent(
task="Go to amazon.com and find the price of iPhone 15",
llm=ChatAnthropic(model="claude-sonnet-4-20250514"),
browser=browser,
)
# Run the agent
result = await agent.run()
print(result)For Anthropic's native Computer Use API, configure the Docker container with proxy:
# Run Computer Use container with proxy docker run -it --rm \ -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \ -e HTTP_PROXY="socks5://user:pass@proxy.proxies.sx:10001" \ -e HTTPS_PROXY="socks5://user:pass@proxy.proxies.sx:10001" \ -p 8080:8080 \ ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
Production-ready settings for Browser Use agents.
from browser_use import Agent, Browser, BrowserConfig
from browser_use.browser.context import BrowserContextConfig
import asyncio
async def run_production_agent():
# Production browser config with mobile proxy
browser = Browser(
config=BrowserConfig(
proxy={
"server": "socks5://proxy.proxies.sx:10001",
"username": "your_username",
"password": "your_password"
},
headless=True,
disable_security=False, # Keep security enabled
# Additional stealth settings
extra_chromium_args=[
"--disable-blink-features=AutomationControlled",
"--disable-dev-shm-usage",
]
)
)
# Context config for session persistence
context_config = BrowserContextConfig(
cookies_file="./cookies.json", # Persist cookies
wait_for_network_idle_page_load_time=3.0,
minimum_wait_page_load_time=1.0,
)
agent = Agent(
task="Your task here",
llm=your_llm,
browser=browser,
browser_context=context_config,
max_actions_per_step=5,
)
result = await agent.run(max_steps=50)
return result
# Run
result = asyncio.run(run_production_agent())Vision agents often need multiple page loads. Use sticky IPs to maintain session consistency across navigation steps.
When using mobile proxies, consider mobile viewports. Some sites serve different content to mobile IPs expecting mobile screens.
Mobile IPs reduce CAPTCHAs significantly. When they appear, Browser Use can often solve simple ones visually.
Use US proxies for US sites, EU for European. Vision agents see localized content, so geographic consistency matters.
Use the extra Chromium args to disable automation detection flags. Combined with mobile IPs, this maximizes stealth.
If an agent gets blocked, rotate to a fresh IP via our API. Browser Use can retry with a new session automatically.
Get mobile proxies that let Browser Use see and interact with any website.