usebruno/bruno · error · Error

Windows proxy detection failed: ${error instanceof Error ? e

Error message

Windows proxy detection failed: ${error instanceof Error ? error.message : String(error)}

What it means

Outer catch in WindowsProxyResolver.detect that wraps any underlying failure (including the 'No Windows proxy configuration found' sentinel) with the 'Windows proxy detection failed:' prefix, preserving the original message as suffix.

Source

Thrown at packages/bruno-requests/src/network/system-proxy/utils/windows.ts:37

        () => this.getSystemProxyEnvironment(execOpts),
        () => this.getUserEnvironmentProxy(execOpts)
      ];

      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 Windows proxy configuration found');
    } catch (error) {
      throw new Error(`Windows proxy detection failed: ${error instanceof Error ? error.message : String(error)}`);
    }
  }

  private async getInternetOptions(execOpts: ExecFileOptions): Promise<ProxyConfiguration | null> {
    const stdout = await safeExec('reg', ['query', 'HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings'], execOpts);
    if (!stdout) return null;

    const lines = stdout.split('\n');
    let proxyEnabled = false;
    let proxyServer: string | null = null;
    let proxyOverride: string | null = null;
    let autoConfigURL: string | null = null;

    for (const line of lines) {
      const trimmedLine = line.trim();

      if (trimmedLine.includes('ProxyEnable') && trimmedLine.includes('REG_DWORD')) {
        // Extract the value after REG_DWORD

View on GitHub (pinned to 9bdd81c7bd)

Solutions

  1. Read the suffix to distinguish spawn failures from the no-config case.
  2. Ensure reg.exe and netsh are accessible to the process and the user has rights to HKCU.
  3. Increase commandTimeoutMs via SystemProxyResolver constructor option.
Defensive patterns

Strategy: try-catch

Try / catch

try { return await winResolver.detect(); } catch (e) { const m = e.message; if (m.endsWith('No Windows proxy configuration found')) return DIRECT_CONFIG; throw e; }

Prevention

When it happens

Trigger: reg.exe or netsh spawn failed, command timed out, a detection method threw unexpectedly, or the no-config sentinel propagated up.

Common situations: reg.exe not on PATH in a stripped-down Windows container; permission denied reading HKCU; long-running reg query exceeding commandTimeoutMs.

Related errors


AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13). Data as JSON: /api/errors/9a633624dc0cf565. Report an issue: GitHub.