List of environment variables

WebKit uses several environment variables, most of which are designed for developers or debugging purposes. These variables should be used carefully, as they can impact the behavior of the software. These environment variables and their behavior are not guaranteed to remain stable across versions of WebKit. Always ensure that your WebKit version corresponds to the documentation you are referencing to avoid compatibility issues.

Debugging Variables

  • WEBKIT_DEBUG Defines a comma-separated list of logging channels and their levels for WebKit’s debugging output. Logging channels correspond to specific areas of functionality, such as networking, storage, and scrolling. For detailed usage, refer to WebKit’s Logging Guide.
    • Enabling a channel: Specify the channel’s name with an optional level (e.g., Loading=warning outputs warnings and errors for the Loading channel).
    • Disabling a channel: Prefix the name with a minus sign (-) (e.g., all,-Network enables all channels, except Network).
    • Enabling all channels: Use the wildcard "all" as the content of WEBKIT_DEBUG.
    • Child processes: The same configuration is shared to child processes spawned by the browser, like the WebProcess and NetworkProcess.
    • WebDriver-related channels: In addition to the browser, the WebDriver service executable also uses WebKit’s logging infrastructure, defining the following channels:
      • WebDriverClassic - For the HTTP-based WebDriver Classic prototol.
      • WebDriverBiDi - For the WebSockets-based WebDriver BiDi protocol.
      • SessionHost - For messages related to the management of the Browser under automation.

Remote Web Inspector Variables

  • WEBKIT_INSPECTOR_SERVER: The address and port in ip:port format (e.g. 127.0.0.1:10000) where the remote inspector service will listen for connections.
  • WEBKIT_INSPECTOR_HTTP_SERVER: The address and port in ip:port format where the remote inspector service will listen for HTTP connections.

See Remote Web Inspector for more details.