Fails to launch modern Electron apps (e.g., Cursor) due to Zygote/Sandbox incompatibility
Hello,
I've encountered an issue where proxychains-ng fails to launch a modern Electron-based application, specifically the Cursor editor. The failure seems to be related to an incompatibility with the Chromium sandbox (Zygote process) that these applications use.
Environment
- Proxychains-ng Version:
4.16 - Operating System:
Description: Ubuntu 22.04.5 LTS Release: 22.04 Codename: jammy - Application Details:
- Name: Cursor
- Version: 1.4.2
- Type: Electron AppImage
- URL:
https://cursor.sh/
Proxychains Configuration
My [ProxyList] in /etc/proxychains4.conf is simple and confirmed to be working with other applications like curl.
[ProxyList]
# Local SOCKS5 proxy provided by my VPN client.
socks5 127.0.0.1 7897
Steps to Reproduce
- Download the Cursor AppImage from their official website.
- Configure
proxychains4.confto use any working proxy. - Execute the command:
proxychains4 ./Cursor-1.4.2-x86_64.AppImage
Expected Behavior
The Cursor application should launch successfully, and its network traffic should be routed through the specified proxy.
Actual Behavior
The application immediately crashes. The terminal outputs a fatal error related to the Zygote host implementation.
[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.16
... (repeated DLL init lines) ...
[103484:0809/121943.173848:FATAL:zygote_host_impl_linux.cc(221)] Check failed: . : Invalid argument (22)
Trace/breakpoint trap (core dumped)
Further Investigation & Workarounds
- Using
--no-sandbox: Adding the--no-sandboxflag gets past the initial Zygote crash, but the application's renderer process still fails to launch.- Command:
proxychains4 ./Cursor-1.4.2-x86_64.AppImage --no-sandbox - Resulting Error:
[main 2025-08-09T04:23:14.607Z] CodeWindow: renderer process gone (reason: launch-failed, code: 1002)
- Command:
Conclusion
Thank you for maintaining this excellent tool. I hope this detailed report is helpful for investigating compatibility with modern applications.
indeed, the sandboxing mechanisms of such programs are incompatible with proxychains. as for your second problem: in case you use X11 it might fail to connect to the display server on localhost, lest you use the localnet directive to have localhost subnet connections done without use of the proxy.
I think I've having the same issue:
$ proxychains ./Cursor-1.7.54-x86_64.AppImage
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[1089669:1022/210005.446096:FATAL:zygote_host_impl_linux.cc(221)] Check failed: . : Invalid argument (22)
Trace/breakpoint trap (core dumped)
But since Electron apps are built on top of Chromium, you can pass a SOCKS5 proxy to Chromium
cursor --proxy-server=socks5://$PROXY_USER:$PROXY_PASS@$PROXY_IP:1080