AdGuard CLI v1.3: DNS filtering and ECH support
If you use AdGuard CLI, you probably value control, transparency, and simplicity. You want powerful protection, but without unnecessary layers or hidden complexity. Version 1.3 brings exactly that.
This update adds DNS filtering and Encrypted ClientHello (ECH) support, along with userscripts, userstyles, and a more consistent update workflow. AdGuard CLI now protects you on more levels, while keeping the experience clean and predictable.
Added DNS filtering support
With DNS-level filtering enabled, unwanted domains, including ads, trackers, and malicious websites, are blocked before a connection is established. This adds an extra layer of protection and stops unwanted traffic at the earliest stage, preventing it from reaching your device.
DNS filtering is disabled by default.
To enable it, run the following command:
adguard-cli config set dns_filtering.enabled true
To disable it, run the following command:
adguard-cli config set dns_filtering.enabled false
By default, AdGuard CLI uses the system DNS server or AdGuard Non-filtering DNS server.
You can manually choose a different server with the following command:
adguard-cli config set dns_filtering.upstream ‘[server address]’
To switch back to the default server, run the following command:
adguard-cli config set dns_filtering.upstream default
Encrypted Client Hello
Although HTTPS encrypts the content of your traffic, the name of the server you are communicating with is usually still visible. ECH encrypts this part of the connection as well, helping to prevent ISPs, DPI systems, and other intermediaries from seeing which domains you access.
Added userscript and userstyle support
You can install and manage userscripts and userstyles directly from the command line. Management commands follow the same logic as filters, so enabling, disabling, and removing userscripts works in a familiar way.

Your feedback matters
AdGuard CLI 1.3 brings significant improvements, and we look forward to hearing your thoughts. Your feedback helps us refine the product and shape future updates.
You can share your experience or report issues on GitHub, or reach out to us through our social media channels. We appreciate your input!










