A proxy is an intermediary server that routes your requests to the destination API. If you're behind a corporate network or firewall, you'll need to configure proxy settings so Bruno can reach external servers.
Don't have a proxy server yet? See Setting Up a Local Proxy on Your System to quickly spin one up for testing.
Settings configured here apply to all collections in Bruno by default.
Open Preferences → Proxy tab (bottom-left corner of the app).
| Mode | Description |
|---|---|
| Off | Proxy disabled. All requests go direct. |
| On | Use a manually configured proxy (hostname + port). |
| System Proxy | Use your OS-level proxy settings. |
| PAC | Use a Proxy Auto-Configuration file to resolve proxy per request. |
- Protocol —
HTTP,HTTPS,SOCKS4, orSOCKS5 - Hostname — Domain or IP of your proxy (e.g.
127.0.0.1) - Port — Port number (e.g.
8080) - Auth — Check this box if your proxy requires a username and password. Enter credentials when prompted. Click the eye icon to reveal the password.
Provide the PAC file via:
- URL — e.g.
https://example.com/proxy.pac(must start withhttp://,https://, orfile://) - File — Click Choose file… to pick a
.pacfile from your filesystem
Bruno runs FindProxyForURL from the PAC file for each request and routes traffic accordingly.
You can override the global proxy for a specific collection. Go to Collection Settings → Proxy tab.
| Mode | Behavior |
|---|---|
| Inherit | Uses the global proxy from Preferences. |
| Enabled | Overrides global — configure a custom proxy for this collection. |
| Disabled | Proxy is off for this collection, regardless of global settings. |
Fill in Protocol, Hostname, Port, and Auth credentials if needed, then click Save.
After sending a request, open the Timeline tab to confirm traffic is being routed through your proxy.
Use this to test with a proxy server (e.g. Burp Suite, Charles, mitmproxy) running locally.
macOS / Linux
export http_proxy=http://127.0.0.1:8080
export https_proxy=http://127.0.0.1:8080With authentication:
export http_proxy=http://username:password@127.0.0.1:8080
export https_proxy=http://username:password@127.0.0.1:8080Windows (PowerShell)
$env:http_proxy="http://127.0.0.1:8080"
$env:https_proxy="http://127.0.0.1:8080"Verify it's set:
echo $http_proxymacOS / Linux — Add to ~/.zshrc or ~/.bashrc:
export http_proxy=http://127.0.0.1:8080
export https_proxy=http://127.0.0.1:8080Then reload the shell:
source ~/.zshrcWindows — Run in Command Prompt (applies system-wide):
setx http_proxy "http://127.0.0.1:8080"
setx https_proxy "http://127.0.0.1:8080"macOS / Linux
unset http_proxy
unset https_proxyWindows
setx http_proxy ""
setx https_proxy ""


