Currently I have this code #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ :brief: Run multiple browser-use agents in parallel """ import asyncio import os from browser_use import Agent, Browser, BrowserConfig, Controller from browser_use.browser.context import BrowserContext, BrowserContextConfig from langchain_openai import ChatOpenAI async def main(): controller = Controller() llm = ChatOpenAI(model="gpt-4o", api_key=os.getenv("OPENAI_API_KEY")) browser_config = BrowserConfig( chrome_instance_path="/path/to/chrome", headless=False, disable_security=True, extra_chromium_args=[ "--no-first-run", "--no-default-browser-check", "--disable-extensions", "--new-window", ], ) browser = Browser(config=browser_config) context1 = BrowserContext(browser=browser) context2 = BrowserContext(browser=browser) agent = Agent( task="Go to amazon.com and search for toys without logging in", llm=llm, controller=controller, browser=browser, browser_context=context1, ) agent2 = Agent( task="Go to Google.com and find the latest news", llm=llm, controller=controller, browser=browser, browser_context=context2, ) await asyncio.gather(agent.run(), agent2.run()) if __name__ == "__main__": asyncio.run(main()) But, it does not truly run in parellel. I was considering using ProcessPoolExecutor but not sure how to mix concurrent.futures and asyncio cleanly. Essentially, the approach should be to create 2 different browser instances so that the agents can work in tandem. Continue reading...