Diagnostic logs
The Cloudflare One Client (formerly WARP) provides diagnostic logs that you can use to troubleshoot connectivity issues on a device.
Chapters
To view client logs on desktop devices:
- Open a Terminal window.
- Run the
warp-diagtool:Terminal window warp-diag
This will place a warp-debugging-info-<date>-<time>.zip on your desktop.
- Open a Command Prompt or PowerShell window.
- Run the
warp-diagtool:Terminal window C:\Users\JohnDoe>warp-diag
This will place a warp-debugging-info-<date>-<time>.zip on your desktop.
- Open a Terminal window.
- Run the
warp-diagtool:Terminal window warp-diag
This will place a warp-debugging-info-<date>-<time>.zip in the same folder you ran the command from.
Feature availability
| Client modes | Zero Trust plans ↗ |
|---|---|
| All plans |
| System | Availability | Minimum client version |
|---|---|---|
| Windows | ✅ | 2024.12.492.0 |
| macOS | ✅ | 2024.12.492.0 |
| Linux | ✅ | 2024.12.492.0 |
| iOS | ❌ | |
| Android | ❌ | |
| ChromeOS | ❌ |
You can collect client diagnostic logs remotely from the Zero Trust dashboard by using Digital Experience Monitoring (DEX) remote captures.
Devices must be actively connected to the Internet for remote captures to run.
To capture data from a remote device:
- In Cloudflare One ↗, go to DEX > Remote captures.
- Select up to 10 devices that you want to run a capture on. Devices must be registered in your Zero Trust organization.
- Configure the types of captures to run.
- Packet captures (PCAP): Performs packet captures for traffic outside of the WARP tunnel (default network interface) and traffic inside of the WARP tunnel (virtual interface).
- Device diagnostic logs: Generates a Cloudflare One Client diagnostic log of the past 96 hours. To include a routing test for all IPs and domains in your Split Tunnel configuration, select Test all routes.
- Select Run diagnostics.
DEX will now send capture requests to the configured devices. If the Cloudflare One Client is disconnected, the capture will time out after 10 minutes.
- In Cloudflare One ↗, go to DEX > Remote captures.
- Find a successful capture.
- Select the three-dot menu and select Download.
This will download a ZIP file to your local machine called <capture-id>.zip. DEX will store capture data according to our log retention policy.
The diagnostics analyzer highlights what Cloudflare determines to be the most important detection events in a warp-diag log. You can use the detection report to help parse your log files and identify the root cause of client issues. The diagnostics analyzer is only available for logs collected via the dashboard.
To access the diagnostics analyzer:
-
In Cloudflare One ↗, go to DEX > Remote captures.
-
Locate an existing
warp-diaglog from the list or select Run diagnostics to generate a newwarp-diaglog. -
Select the three dots for the
warp-diaglog that you want to analyze, then select View Device Diag.The Overview tab will display an AI-generated summary of the results, a list of detection events, and basic device information.
Explanation of the fields
Field Description Detection type A common Cloudflare One Client issue that can appear in the diagnostic logs. Occurences Number of times an issue was detected in the logs. Severity level Indicates the impact of the issue on Cloudflare One Client functionality. The severity levels are: - Critical: Issue causes complete loss of functionality.
- Warning: Issue causes degraded functionality but core features should still work.
- No detection: Issue was not detected in the logs.
Operating system OS and OS version of the device. Cloudflare One Client version Cloudflare One Client release version Profile ID device profile UUID Service mode Client mode Configuration name Name of the Zero Trust organization that the Cloudflare One Client is connected to. Device ID ID generated by the Cloudflare One Client. -
Select a detection type for more information about the event and recommended next steps.
Cloudflare DEX will store the warp-diag log and its detection report per our log retention policy. To save a copy onto your local machine, download the log file and go to the JSON file tab to copy the report in JSON format.
The warp-debugging-info-<date>-<time>.zip archive contains the following files:
| File name | Description |
|---|---|
.qlog | QLog files used to debug MASQUE connection issues. |
.pcap | Packet capture (PCAP) files that were manually generated using warp-cli debug pcap commands. |
alternate-networks-check.txt | Connectivity status for each managed network. |
boringtun.log | Log for the WARP tunnel that serves traffic from the device to Cloudflare's global network. |
bound-dns-ports.txt | Active processes on port 53. |
captive-portal-hotspot-detect.txt | HTTP response of captive.apple.com |
connectivity.txt | DNS resolution and HTTP trace requests to validate a successful connection. Can be used to determine whether traffic is routing through the WARP tunnel. |
daemon_dns.log | Contains detailed DNS logs if Log DNS queries is enabled in the Cloudflare One Client. |
daemon.log | Detailed log of all actions performed by the Cloudflare One Client, including all communication between the device and Cloudflare's global network. Note: This is the most useful debug log. |
date.txt | Date and time (UTC) when you ran the warp-diag command. |
dex.log | Logs related to DEX test execution. |
dhcp-lease-plists.txt | DHCP lease information from /var/db/dhcpclient/leases/ for each interface that has a DHCP lease. |
dhcp-lease.txt | DHCP lease information from ipconfig (macOS) or nmcli (Linux). |
dig.txt | DNS lookup query output for cloudflare.com and apple.com. |
dns_stats.log | Statistics on the DNS queries received and resolved by the Cloudflare One Client, generated every two minutes. |
dns-check.txt | Verifies that the Cloudflare One Client DNS servers are set as system default. For operating modes where DNS filtering is enabled, this file contains the IPs of the local DNS proxy (127.0.2.2:0, 127.0.2.3:0, [fd01:db8:1111::2]:0, and [fd01:db8:1111::3]:0). |
dynamic.log | Reserved for use by Cloudflare Support. |
etc-hosts.txt | Static DNS config of device. |
firewall-pfctl-all.txt | Packet filter (pf) firewall configuration (macOS only). |
firewall-rules.txt | The system firewall rules configured by the Cloudflare One Client. |
gui-launcher.log | macOS console log showing application launch. |
gui-log.log | Log file for the GUI app that users interact with. |
hostname.txt | Name of the device. |
ifconfig.txt ipconfig.txt | IP configuration of each network interface. |
installed_applications.txt | List of installed applications. |
installed_cert.pem | Root certificate installed on the system. |
installer.log msi-installer.log | MSI or PKG installation log. |
InstallHistory.plist macos_installer.log | macOS software installation logs. |
ipc.log | Logs IPC communication between the GUI and daemon. Useful for situations where the GUI crashes or is unable to communicate with the daemon. |
kernel-modules.txt | List of loaded kernel modules (macOS and Linux) or drivers (Windows). |
launchd-dumpstate.txt | Current state of the macOS launchd system including the loaded jobs, their status, and dependencies. |
local_policy.redacted.txtmdm.plist mdm.xml | Managed deployment parameters on the device. |
lsb-release.txt | Output from the lsb_release command (Linux only). |
netstat.txt routetable.txt | Routing table used by the device. |
netstat-v6.txt | IPv6 routing table (Linux only). |
platform.txt | Operating system of the device. |
ps.txt processes.txt | List of all active processes on the device when warp-diag was run. |
resolv.conf | The contents of the /etc/resolv.conf file on Mac/Linux, where system DNS servers are configured. |
route.txt | Output from the ip route get command, used to verify that network traffic is going over the correct interface. You can optionally use the warp-diag --enable-all-routes flag to include tests for all IPs and domains in your Split Tunnel configuration. |
scutil-dns.txt | DNS configuration on macOS/Linux (available in ipconfig.txt on Windows). |
scutil-networkinfo.txt | IPv4 and IPv6 network interface configuration on macOS (available in interfaces-config.txt on Windows). |
scutil-proxy.txt | Proxy configuration on macOS/Linux (available in ipconfig.txt on Windows). |
snapshots-collection.log | Logs generated when collecting snapshots/*.log. Used to debug why the Cloudflare One Client failed to collect a snapshot. |
snapshots/*.log | Diagnostics generated when an error occurs. |
stats.log | Uptime and throughput stats for the WARP tunnel, generated every two minutes. |
sw-vers.txt | Operating system of the device. |
sysinfo.json | CPU and memory usage when warp-diag was run. This information is useful for determining whether slow speeds are due to heavy system load. |
system-extension-diagnostics.txt | Status and health of loaded system extensions (macOS only). |
systeminfo.txt system-profile.txt | System software overview. |
System.evtx | Windows system event log. |
taskdump.log | If the daemon hangs, this file will contain a dump of the currently running processes. This is helpful in debugging hangs, deadlocks, and tasks. |
timezone.txt | Local timezone of the device specified as a UTC offset. |
traceroute.txt | Traceroute to the WARP ingress IPs showing the path from the device to Cloudflare's global network. |
uname.txt | Linux-only system information including kernel version. |
v4interfaces.txt v4subinterfaces.txt v6interfaces.txt v6subinterfaces.txt | IPv4 and IPv6 network configuration on Windows. |
version.txt | Cloudflare One Client version installed on the device. |
warp-account.txt | Cloudflare One Client device enrollment information. |
warp-bus-metrics.txt | Metrics for the internal message bus framework used by the Cloudflare One Client. |
warp-device-posture.txt | Current device posture status. |
warp-dex-data.txt | Currently configured DEX tests and their most recent statuses. |
warp-dns-fallbacks.txt | List of default DNS fallbacks used by the WARP DNS proxy. |
warp-dns-lock.json | Default DNS providers and network interface information. |
warp-dns-stats.txt | Summary of recent DNS queries on the device since dns-stats.log was generated. |
warp-network.txt | Network settings on the device detected by the Cloudflare One Client. |
warp-settings.txt | Cloudflare One Client settings applied to the device. |
warp-stats.txt | Uptime and throughput of the WARP tunnel since stats.log was generated. |
warp-status.txt | Status of the Cloudflare One Client connection (Connected or Disconnected). |
wdutil-info.txt | Wi-Fi diagnostics (macOS only). |
xpc-launchd.log | Most recent log file for the launchd process on macOS. |
The warp-debugging-info folder may contain multiple versions of the same log, such as daemon.log, daemon.1.log, and daemon.2.log. Since logs can get very long, they are rotated either daily or when they exceed a certain size.
<logfile>.logis the most current log. This is almost always the log you should be looking at, as it shows events that occurred on the day you ran thewarp-diagcommand.<logfile>.1.logshows events from the previous day.<logfile>.2.logshows events from two days before.
Each client log file (such as connection_stats.log, dns_stats.log, daemon.log, boringtun.log, daemon_dns.log, dex.log and captive-portal.log) is limited by size and age:
- Maximum file size: 10 MB
- Maximum file age: 24 hours
- Maximum number of retained versions per log: 4 (for example,
daemon.log,daemon.1.log,daemon.2.log, anddaemon.3.log)
Log files may include data from up to 96 hours (four days) prior to when warp-diag was run, but only if log activity is minimal. In environments with high logging volume (for example, repeated errors), logs may rotate more frequently, and the captured window could be much shorter (only a few hours).
Always check the timestamps at the end of each log file to verify the time range covered by the diagnostic archive.
To view client logs on mobile devices:
- Open the Cloudflare One Agent app.
- Go to Settings > Advanced > Diagnostics.
- Collect extension logs:
- From the Diagnostics page, select Console logs > Extension logs.
- Select Share and choose a file sharing method.
- Enter a descriptive file name (such as
extension.log) if available for your sharing method. Then share or save the file.
- Collect application logs:
- From the Diagnostics page, select Console logs > Application logs.
- Select Share and choose a file sharing method.
- Enter a descriptive file name (such as
application.log) if available for your sharing method. Then share or save the file.
- (Optional) Collect qlogs for devices using the MASQUE tunnel protocol:
- From the Diagnostics page, turn on Enable qlogs.
- Select Export QLogs.
- Enter a descriptive file name (such as
qlogs.zip) if available for your sharing method. Then share or save the file.
- Open the Cloudflare One Agent app.
- Go to Settings > Advanced > Diagnostics.
- Scroll down to the Debug logs section.
- (Optional) Turn on Enable qlogs for devices using the MASQUE tunnel protocol.
- Select Download logs.
- Share the
warp-debugging-info-<date>-<time>.zipfile via email, Google Drive, or another installed app.
The following log files are available for iOS, Android, and ChromeOS devices.
| Name | Description |
|---|---|
| Extension logs | Logs from the core VPN tunnel service, including connection state changes and packet flow operations between the device and Cloudflare's network. Similar to the desktop daemon.log file. |
| Application logs | Logs from the iOS app process, including GUI events, setting changes, and API calls. |
| Qlogs | QUIC protocol event logs used to debug MASQUE/HTTP3 tunnel connections. Archive contains up to 10 .sqlog files named by connection ID. |
The warp-debugging-info-<date>-<time>.zip archive contains the following files:
| Name | Description |
|---|---|
unhandled_exception.log | Captures errors in the Android application layer that were not caught and could have crashed the app. |
console.log | Logs from the Android application layer, including VPN service events, API calls, failed DNS queries, GUI interactions, and setting changes. |
native_tunnel.log | Logs from the core VPN tunnel service, including connection state changes and packet flow operations between the device and Cloudflare's network. Similar to the desktop daemon.log file. |
<connection_id>.sqlog | QUIC protocol event logs used to debug MASQUE/HTTP3 tunnel connections. |