Feature request for product/service
Cursor IDE
Describe the request
I cannot currently use the “Browser Tab” feature on a certain project because it does not support proxy options for just itself.
The “Browser Tab” feature does not currently appear to support setting a HTTP/SOCKS proxy options for the tabbed browser only. I’m not sure if the system-wide Cursor proxy settings would force the tabbed browser through proxies as well but regardless, that is not very efficient when trying to route web traffic remotely or running through something like Burp, cause then all the IDE’s traffic has to funnel through it as well when that’s not necessary and would probably have a big impact on LLM’s agentic work.
And yet a given work flow might require using an HTTP proxy (burp) or a socks proxy (SSH) to pivot into a restricted env securely.
You also have issues where a restricted env may not permit all other traffic out, but only let traffic through the proxy in, so doing a system wide proxy does not solve our problem.
The “Google Chrome” option might suffer from the same dilemma since it does not appear to be able to force proxy options for the Chrome instance it opens up:
The solution here would be to have a “Browser Tab”-only proxy option and/or “Google Chrome”-only proxy option that are both different from the IDE system-wide proxy options.
If these are Chrome/Chromium, I know they support CLI args to launch them with their own proxy settings, so Cursor would just need to give us the settings/options to set these in Cursor and then Cursor would launch them with these flags:
You can use the --proxy-server flag to specify the proxy you want to use.
HTTP Proxy
To set a standard HTTP proxy, use the following format:
chrome --proxy-server="http://<proxy-host>:<port>"
- Example:
chrome --proxy-server="http://192.168.1.1:8080"
If you omit the http:// scheme, the browser will default to using it as an HTTP proxy.
chrome --proxy-server="192.168.1.1:8080"
SOCKS Proxy
You can specify either SOCKS4 or SOCKS5 by changing the scheme.
-
SOCKS5:
chrome --proxy-server="socks5://<proxy-host>:<port>"- Example:
chrome --proxy-server="socks5://127.0.0.1:9050"
- Example:
-
SOCKS4:
chrome --proxy-server="socks4://<proxy-host>:<port>"- Example:
chrome --proxy-server="socks4://127.0.0.1:9050"
- Example:
Note on SOCKS and DNS: When using a SOCKS proxy (especially SOCKS5), you might also want to force DNS requests to go through the proxy instead of being resolved locally. You can do this by adding the --host-resolver-rules flag:
chrome --proxy-server="socks5://127.0.0.1:9050" --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE 127.0.0.1"
This tells Chrome to send all DNS requests (the MAP *) to the SOCKS proxy.
IT WOULD PROBABLY BE A GOOD IDEA/SOLUTION TO JUST DO THIS:
In the settings just give us the option to optionally set Chrome/Chromium flags arbitrarily, cause then we could have the power to add other Chrome/Chromium flags to our setups that I often find useful during projects (such as turning off certain security flags to help debugging).
