usebruno/bruno · error · Error
Linux proxy detection failed: ${error instanceof Error ? err
Error message
Linux proxy detection failed: ${error instanceof Error ? error.message : String(error)} What it means
Outer wrapper in LinuxProxyResolver.detect that re-wraps any inner failure (including the 'No Linux proxy configuration found' case) with a 'Linux proxy detection failed:' prefix. The original error message is preserved in the suffix.
Source
Thrown at packages/bruno-requests/src/network/system-proxy/utils/linux.ts:45
() => 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,
pac_url: cleanUrl,
source: 'linux-system'View on GitHub (pinned to 9bdd81c7bd)
Solutions
- Inspect the embedded suffix message to find the real cause (e.g. 'No Linux proxy configuration found' vs a spawn ENOENT).
- Ensure gsettings (GNOME) or kwriteconfig5 (KDE) is installed and on PATH for the process user.
- Fall back to environment-variable proxies (http_proxy/https_proxy) if desktop tooling is unavailable.
Example fix
// before
const cfg = await resolver.getSystemProxy();
// after: surface the underlying cause for routing
catch (e) {
const msg = e.message;
if (msg.endsWith('No Linux proxy configuration found')) return DIRECT_CONFIG;
throw e;
} Defensive patterns
Strategy: try-catch
Try / catch
try { return await linuxResolver.detect(); } catch (e) { const m = e.message; if (m.endsWith('No Linux proxy configuration found')) return DIRECT; throw e; } Prevention
- Inspect the embedded suffix to route between no-config and real failures.
- Ensure gsettings/kwriteconfig5 binaries are installed and on PATH.
When it happens
Trigger: Any uncaught exception from a Linux detection routine — gsettings exec crash, permission error, or the no-config sentinel — gets re-thrown here.
Common situations: gsettings binary missing or not on PATH; timeout exceeded while spawning helper processes; safeExec rejecting for a non-zero exit on a detection command.
Related errors
- No Linux proxy configuration found
- Windows proxy detection failed: ${error instanceof Error ? e
- Unsupported platform: ${this.osPlatform}
- macOS proxy detection failed: ${error instanceof Error ? err
- No Windows proxy configuration found
AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13).
Data as JSON: /api/errors/cfa2cee7725b285c.
Report an issue: GitHub.