Fix: Vibium Chrome Download Fails
Vibium Chrome download fails on first launch? Fix it with vibium install, by clearing network/proxy and disk-space blocks, plus Linux deps.
If Vibium's Chrome download fails, it's almost always a network, proxy, or disk problem on first launch — and the quickest fix is to pre-download Chrome explicitly with vibium install on a stable connection. Vibium ships a single Go binary that fetches Chrome for Testing the first time you call launch(), so a failed first run usually means the file was blocked, the connection dropped, or the disk filled up — not that Vibium is broken. This download is a one-time step: once Chrome lands, every later launch reuses it and starts fast. Below are the concrete causes and fixes, from running the explicit installer to clearing proxy and disk issues to handling Linux system libraries. Note this is different from the package install failing; if pip install vibium or npm install vibium itself errors, see Fix: Vibium install fails first, then come back here for the browser download.
How do I pre-download Chrome instead of waiting for first launch?
The most reliable fix is to trigger the download explicitly so you can watch and retry it. Run the installer command before your first script:
vibium installThis performs the same one-time Chrome for Testing download that launch() would, but as a deliberate step rather than a surprise mid-script. If it succeeds here, your automation will launch cleanly afterward:
from vibium import browser_sync as browser
vibe = browser.launch() # uses the already-downloaded Chrome
vibe.go("https://example.com")
vibe.quit()Running vibium install on a stable network resolves the majority of first-launch download failures.
What network and proxy issues block the download?
Chrome for Testing is fetched over the network, so anything that blocks that transfer breaks the download. Common culprits and fixes:
| Symptom | Likely cause | Fix |
|---|---|---|
| Hang then timeout | Slow or flaky connection | Retry vibium install on a faster network |
| Connection reset / refused | Corporate proxy or firewall | Configure your proxy, or run on an unfiltered network |
| Repeated partial downloads | Connection dropping mid-transfer | Retry on a stable link; avoid VPN flapping |
| TLS / certificate errors | Intercepting proxy rewriting certs | Trust the proxy's cert or bypass it for the download |
If you're behind a corporate proxy, that's the single most likely reason the download stalls — the file simply never arrives. Pre-downloading from a network that allows it, then reusing the cached browser, is often the path of least resistance.
What if the disk is full or the path isn't writable?
A download that starts and then fails partway through often means there's no room to save Chrome, or the location isn't writable. Chrome for Testing is a sizable download, so a nearly full disk will abort it. Free up space and confirm you can write to your home/temp directory, then retry:
df -h # check available disk space
vibium install # retry once there's roomPermission errors during the download point to a locked-down temp or cache directory. Running from a normal user account in a directory you own, rather than a restricted system path, avoids most of these.
Why does the download seem to run more than once?
If Chrome appears to download again on a later run, the previous attempt almost certainly didn't finish. Vibium downloads Chrome for Testing only once and reuses it every time after that. A repeat download means either the earlier transfer failed before completing, or the cached browser was deleted or moved, so the binary fetches a fresh copy on the next launch(). Let one vibium install run finish completely on a stable connection and the repetition stops.
How do I fix Chrome not launching on Linux after it downloads?
On Linux, the download can succeed but Chrome still fails to start because system libraries are missing — that's a launch failure, not a download failure, and it has a one-time fix. Install the shared libraries Chrome needs:
sudo apt-get install -y libgbm1 libnss3 libatk-bridge2.0-0 libdrm2 \
libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libasound2After installing these once, launch() should bring up the already-downloaded Chrome without complaint. This step is specific to Linux; macOS and Windows don't need it.
Still failing?
If vibium install still can't pull Chrome after you've ruled out network, proxy, and disk issues, capture the exact error and open an issue on the Vibium GitHub repository. Include your OS, whether you're behind a proxy, and the full output. For context on why this download exists at all — and why there's no separate ChromeDriver step — see How Vibium works.
Next steps
Frequently asked questions
Why does Vibium's Chrome download fail on first launch?
Vibium downloads Chrome for Testing the first time you call launch(). That download fails when the network or a corporate proxy blocks the file, when disk space runs out, or when the connection drops mid-transfer. Pre-downloading with vibium install on a stable network usually fixes it.
How do I pre-download Chrome for Vibium?
Run vibium install before your first script. It performs the same one-time Chrome for Testing download that launch() would trigger, but as an explicit step you can retry and watch. This is the recommended fix when the automatic first-run download keeps failing.
Does Vibium download Chrome every time it runs?
No. Vibium downloads Chrome for Testing only once, then reuses it on every later launch. If a download seems to repeat, the previous attempt likely failed or the cached browser was removed, so the binary fetches it again on the next launch.
Vibium is created by Jason Huggins. This is an independent tutorial — see the official Vibium site and GitHub repo for canonical docs.
Related guides
Fix: Vibium Screenshot Comes Out Blank
Why your Vibium screenshot comes out blank or white, and how to fix it — wait for content, full_page=True, set a viewport, and verify the PNG bytes.
4 min read→TroubleshootingFix: Vibium 'Element Not Found' Errors
Fix Vibium 'element not found' errors — correct the selector, switch to semantic find, handle iframes and timing, and target elements the way a user sees them.
4 min read→TroubleshootingFix: Flaky Clicks in Vibium
Fix flaky clicks in Vibium — let actionability auto-wait handle timing, target the right element under overlays, and stop adding brittle sleep() calls.
4 min read→TroubleshootingFix: Vibium Headless Crashes on Linux
Fix Vibium headless crashes on Linux — install Chrome's missing shared libraries, add --no-sandbox in containers, and give /dev/shm enough space.
4 min read→