siyuan-note/siyuan · warning

automatic proxy configuration is not supported

Error message

automatic proxy configuration is not supported

What it means

On Windows, SiYuan reads the registry key HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings to import the system proxy. If the AutoConfigURL value is set (a PAC/WPAD auto-configuration proxy), the reader refuses it and returns this error, because PAC scripts cannot be evaluated by the simple static proxy importer.

Source

Thrown at kernel/util/system_proxy_windows.go:36

package util

import (
	"errors"

	"golang.org/x/sys/windows/registry"
)

func readSystemNetworkProxy() (*systemNetworkProxyConfig, error) {
	key, err := registry.OpenKey(registry.CURRENT_USER, `Software\Microsoft\Windows\CurrentVersion\Internet Settings`, registry.QUERY_VALUE)
	if err != nil {
		return nil, err
	}
	defer key.Close()

	autoConfigURL, _, err := key.GetStringValue("AutoConfigURL")
	if nil == err && "" != autoConfigURL {
		return nil, errors.New("automatic proxy configuration is not supported")
	}
	if nil != err && registry.ErrNotExist != err {
		return nil, err
	}
	autoDetect, _, err := key.GetIntegerValue("AutoDetect")
	if nil == err && 0 != autoDetect {
		return nil, errors.New("automatic proxy detection is not supported")
	}
	if nil != err && registry.ErrNotExist != err {
		return nil, err
	}

	enabled, _, err := key.GetIntegerValue("ProxyEnable")
	if registry.ErrNotExist == err {
		return nil, nil
	}
	if err != nil {
		return nil, err

View on GitHub (pinned to 8641553a1f)

Solutions

  1. Disable the automatic configuration script in Windows Settings (Network & Internet - Proxy - turn off 'Use setup script') and configure a manual proxy instead
  2. Ask IT for the PAC's static proxy host:port and set it as a manual ProxyServer value
  3. Skip the system-proxy import in SiYuan and configure the proxy inside SiYuan manually

Example fix

// registry state before
// AutoConfigURL = "http://wpad.corp/wpad.dat"  -> error
// after (disable PAC, set manual proxy)
// ProxyEnable = 1, ProxyServer = "proxy.corp:8080"
Defensive patterns

Strategy: validation

Validate before calling

key, err := registry.OpenKey(registry.CURRENT_USER, `Software\Microsoft\Windows\CurrentVersion\Internet Settings`, registry.QUERY_VALUE)
if err == nil {
	v, _, e := key.GetStringValue("AutoConfigURL")
	if e == nil && v != "" {
		// PAC active: skip import or prompt user to disable it first
	}
	key.Close()
}

Try / catch

cfg, err := readSystemNetworkProxy()
if err != nil && strings.Contains(err.Error(), "automatic proxy configuration") {
	// fall back to manual proxy configuration in SiYuan
	cfg = nil
}

Prevention

When it happens

Trigger: readSystemNetworkProxy finds a non-empty AutoConfigURL string in the registry — i.e. Windows Internet Options is set to 'Use automatic configuration script' or a corporate PAC/GPO/Proxy Auto-Config is active — and the caller invokes the system-proxy import path on Windows.

Common situations: Corporate laptops with PAC scripts pushed by IT policy, or users who configured WPAD/autoconfig in Windows Internet Options; importing the proxy then fails with this message.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


AI-assisted analysis of siyuan-note/siyuan@8641553a1f (2026-09-11). Data as JSON: /api/errors/9523d1930f2febea. Report an issue: GitHub.