usebruno/bruno · warning · Error
No Linux proxy configuration found
Error message
No Linux proxy configuration found
What it means
LinuxProxyResolver iterates detection methods (gsettings, KDE/plasma, env-derived) and throws when every method returned null. It signals that no system proxy is currently configured on the Linux desktop, not a hard failure.
Source
Thrown at packages/bruno-requests/src/network/system-proxy/utils/linux.ts:43
() => this.getGSettingsProxy(execOpts),
() => this.getKDEProxy(execOpts),
() => this.getEnvironmentFileProxy(),
() => this.getSystemdProxy()
];
for (const method of detectionMethods) {
try {
const proxy = await method();
if (proxy) {
return proxy;
}
} catch (error) {
// Continue to next method if this one fails
continue;
}
}
throw new Error('No Linux proxy configuration found');
} catch (error) {
throw new Error(`Linux proxy detection failed: ${error instanceof Error ? error.message : String(error)}`);
}
}
private async getGSettingsProxy(execOpts: ExecFileOptions): Promise<ProxyConfiguration | null> {
try {
const mode = await safeExec('gsettings', ['get', 'org.gnome.system.proxy', 'mode'], execOpts);
// Handle PAC (auto) mode
if (mode === '\'auto\'') {
const autoConfigUrl = await safeExec('gsettings', ['get', 'org.gnome.system.proxy', 'autoconfig-url'], execOpts);
const cleanUrl = (autoConfigUrl || '').replace(/'/g, '').trim();
if (cleanUrl) {
return {
http_proxy: null,
https_proxy: null,
no_proxy: null,View on GitHub (pinned to 9bdd81c7bd)
Solutions
- Treat as 'no proxy' rather than an error — set proxyMode to 'off' or rely on direct connection.
- Configure a proxy via gsettings set org.gnome.system.proxy mode 'manual' (and host/port) so detection returns a value.
- Export http_proxy/https_proxy environment variables as an alternative source.
Example fix
// before
const cfg = await resolver.getSystemProxy(); // throws 'No Linux proxy configuration found'
// after
try { const cfg = await resolver.getSystemProxy(); }
catch (e) { /* no system proxy configured -> connect directly */ const cfg = { http_proxy:null, https_proxy:null, no_proxy:null }; } Defensive patterns
Strategy: fallback
Try / catch
try { return await resolver.detect(); }
catch (e) { if (/No Linux proxy configuration found/.test(e.message)) return { http_proxy:null, https_proxy:null, no_proxy:null }; throw e; } Prevention
- Treat 'no config' as a normal direct-connection outcome, not a fatal error.
- Provide explicit proxies when desktop tooling (gsettings/KDE) is unavailable.
When it happens
Trigger: On Linux with proxyMode='system', none of gsettings / KIOSK / kwriteconfig5 / environment variables yield a proxy entry, so detectionMethods all resolve to null.
Common situations: A headless server or a desktop with proxy fully disabled; GNOME gsettings mode is 'none'; KDE rc files absent; running as a user without a D-Bus session so gsettings returns nothing.
Related errors
- Linux proxy detection failed: ${error instanceof Error ? err
- No Windows proxy configuration found
- Unsupported platform: ${this.osPlatform}
- macOS proxy detection failed: ${error instanceof Error ? err
- Windows proxy detection failed: ${error instanceof Error ? e
AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13).
Data as JSON: /api/errors/db1823fa3db3e2b2.
Report an issue: GitHub.