in page https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains section 'Deleting chains' says: The only condition is that the chain you want to delete needs to be empty, otherwise the kernel will tell you that such chain is in used. it seems that this is no more true. for example: # nft add rule inet filter forward tcp dport 1000 accept # nft list ruleset table inet filter { chain input { type filter hook input priority 0; policy accept; } chain forward { type filter hook forward priority 0; policy accept; tcp dport 1000 accept } chain output { type filter hook output priority 0; policy accept; } } # nft delete chain inet filter forward # nft list ruleset table inet filter { chain input { type filter hook input priority 0; policy accept; } chain output { type filter hook output priority 0; policy accept; } } Thanks