Built-in Policies Protocol

Built-in outbound policies include DIRECT, REJECT, REJECT-DROP, PASS and COMPATIBLE, and are used as rule outcomes.

Short answer

Built-in outbound policies include DIRECT, REJECT, REJECT-DROP, PASS and COMPATIBLE, and are used as rule outcomes. In real use, trust the provider subscription first and then verify whether the selected client core supports this exact type.

What It Means

In Clash/Mihomo configuration, DIRECT / REJECT / PASS identifies the outbound type used by the node, policy or group. The same display name in a GUI can hide different transport fields, so the YAML or subscription output is more reliable than the node nickname.

Common Fields

  • DIRECT
  • REJECT
  • REJECT-DROP
  • PASS
  • COMPATIBLE

When to Use It

  • Ads, tracking or unverified domains should be rejected.
  • Domestic or LAN targets should go direct.
  • Sub-rules need PASS to continue matching in the main rule list.

Support Checks Checks

  • REJECT-DROP silently drops requests, so consider troubleshooting visibility.
  • COMPATIBLE often appears when no node is selected in a policy group.
  • These are policy actions, not provider node protocols.

Minimal Shape

rules:
- DOMAIN-SUFFIX,example-ads.com,REJECT
- DOMAIN-SUFFIX,lan,DIRECT
- MATCH,Proxy

Compatibility Notes

Client support changes with the bundled core. A maintained Mihomo-based client usually supports more modern node types than historical Clash clients, but mobile clients and iOS alternatives still vary by app and release.

If a subscription contains this type but the client filters it out, switch to a compatible client, ask the provider for a compatible subscription format, or use a converter only when you understand what fields are being changed.

Official Reference

Built-in Policies in Mihomo docs