{"record":{"id":"db1823fa3db3e2b2","repo":"usebruno/bruno","slug":"no-linux-proxy-configuration-found","errorCode":null,"errorMessage":"No Linux proxy configuration found","messagePattern":"No Linux proxy configuration found","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"packages/bruno-requests/src/network/system-proxy/utils/linux.ts","lineNumber":43,"sourceCode":"        () => this.getGSettingsProxy(execOpts),\n        () => this.getKDEProxy(execOpts),\n        () => this.getEnvironmentFileProxy(),\n        () => this.getSystemdProxy()\n      ];\n\n      for (const method of detectionMethods) {\n        try {\n          const proxy = await method();\n          if (proxy) {\n            return proxy;\n          }\n        } catch (error) {\n          // Continue to next method if this one fails\n          continue;\n        }\n      }\n\n      throw new Error('No Linux proxy configuration found');\n    } catch (error) {\n      throw new Error(`Linux proxy detection failed: ${error instanceof Error ? error.message : String(error)}`);\n    }\n  }\n\n  private async getGSettingsProxy(execOpts: ExecFileOptions): Promise<ProxyConfiguration | null> {\n    try {\n      const mode = await safeExec('gsettings', ['get', 'org.gnome.system.proxy', 'mode'], execOpts);\n\n      // Handle PAC (auto) mode\n      if (mode === '\\'auto\\'') {\n        const autoConfigUrl = await safeExec('gsettings', ['get', 'org.gnome.system.proxy', 'autoconfig-url'], execOpts);\n        const cleanUrl = (autoConfigUrl || '').replace(/'/g, '').trim();\n        if (cleanUrl) {\n          return {\n            http_proxy: null,\n            https_proxy: null,\n            no_proxy: null,","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/usebruno/bruno/blob/9bdd81c7bdc57006e5f5ebffb79321a8d979f712/packages/bruno-requests/src/network/system-proxy/utils/linux.ts#L25-L61","documentation":"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.","triggerScenarios":"On Linux with proxyMode='system', none of gsettings / KIOSK / kwriteconfig5 / environment variables yield a proxy entry, so detectionMethods all resolve to null.","commonSituations":"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.","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."],"exampleFix":"// before\nconst cfg = await resolver.getSystemProxy(); // throws 'No Linux proxy configuration found'\n\n// after\ntry { const cfg = await resolver.getSystemProxy(); }\ncatch (e) { /* no system proxy configured -> connect directly */ const cfg = { http_proxy:null, https_proxy:null, no_proxy:null }; }","handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { return await resolver.detect(); }\ncatch (e) { if (/No Linux proxy configuration found/.test(e.message)) return { http_proxy:null, https_proxy:null, no_proxy:null }; throw e; }","preventionTips":["Treat 'no config' as a normal direct-connection outcome, not a fatal error.","Provide explicit proxies when desktop tooling (gsettings/KDE) is unavailable."],"tags":["proxy","linux","system-proxy","no-config"],"backgroundTag":null,"analyzedSha":"9bdd81c7bdc57006e5f5ebffb79321a8d979f712","analyzedAt":"2026-08-13T04:09:25.751Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}