Run multiple isolated browser windows from one terminal. Each window gets its own fresh profile — no shared cookies, no shared logins, no state from previous runs.
Runs on Windows, Linux, macOS. Supports Chrome, Firefox, Edge. Ships with a pre-built .exe for Windows so Python isn't required.
Pick a browser. Say how many windows you want. They open — each in a completely separate profile directory. Type q or hit Ctrl+C when done. Everything closes cleanly, profiles deleted.
Edge starts clean every time. No importing your bookmarks or Microsoft account. No setup wizard. Just a blank browser.
I needed to be logged into the same site with several accounts at once. Incognito doesn't cut it — only one session per browser, extensions off by default, some sites detect it, nothing saves between runs.
This is different. Each window is a full browser with its own cookies, storage, login state. Five Gmail accounts open in five separate Chrome windows, side by side. No conflicts. Each window is completely unaware of the others.
Good for multi-account social media work, testing different user roles on the same app, running bots that each need a separate session.
Windows (no Python needed)
browser-manager.exe
Double-click or run from a terminal. Everything is bundled.
Linux
chmod +x browser-manager
./browser-manager
macOS
chmod +x browser-manager-macos
./browser-manager-macos
You still need Chrome, Firefox, or Edge installed. The binary handles everything else.
pip install selenium colorama
python browser.py
webdriver-manager installs automatically on first run if it's missing. It grabs the right driver for your browser version — no manual chromedriver or geckodriver setup.
After the banner, two prompts:
Browser (chrome/edge/firefox): chrome
Number of instances: 3
Three Chrome windows open, each with its own profile. Close with q or Ctrl+C.
Windows
- Looks for Chrome in Program Files, Edge in its default path, Firefox in Mozilla's folder
- Profiles go to
%USERPROFILE%\selenium_profiles
Linux
- Searches PATH for
google-chrome,chromium-browser,microsoft-edge,firefox - Adds
--no-sandboxfor containers and WSL - Profiles go to
~/selenium_profiles
macOS
- Checks
/Applicationsfor browser.appbundles - Profiles go to
~/selenium_profiles
Each launch creates a fresh directory per instance:
~/selenium_profiles/
chrome_instance_1/
chrome_instance_2/
edge_instance_1/
Old profiles from the previous run are wiped on startup. When the script exits, profile directories are removed. Nothing persists.
Edge gets extra flags to force a clean default profile, blocking it from pulling in your real account data. Sidebar popups, auto-import, sync prompts — all disabled.
Chrome and Edge instances run with basic anti-detection:
navigator.webdriverreturnsundefinedinstead oftrue- The "controlled by automated software" banner is suppressed
- Automation flags are stripped from browser switches
Not bulletproof. Enough to pass basic bot checks.
The script tries your system's existing driver first. If that fails, it pulls the right version through webdriver-manager. If chromedriver is already in your PATH, it uses that. If not, it downloads it. Nothing else to configure.
browser.py - main script
browser-manager.exe - Windows binary
browser-manager - Linux binary
browser-manager-macos - macOS binary
| Action | How |
|---|---|
| Open 2 Chrome windows | Run the binary, type chrome, 2 |
| Open 5 Edge windows | Run the binary, type edge, 5 |
| Close everything | Type q or Ctrl+C |