<!--
{
  "availability" : [
    "macOS: 10.15.4 -"
  ],
  "documentType" : "symbol",
  "framework" : "NetworkExtension",
  "identifier" : "/documentation/NetworkExtension/NEAppRule/matchTools",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Network Extension"
    ],
    "preciseIdentifier" : "c:objc(cs)NEAppRule(py)matchTools"
  },
  "title" : "matchTools"
}
-->

# matchTools

An array of app rule objects that restrict the rule so it only matches network traffic generated from helper processes.

```
var matchTools: [NEAppRule]? { get set }
```

## Discussion

Use this property to restrict this rule so it only matches network traffic that the matching app generates and all helper tool processes that the matching app spawns.

For example, to match network traffic generated by the `curl` command line tool run from `Terminal.app`, do the following:

1. Create an [`NEAppRule`](/documentation/NetworkExtension/NEAppRule) for `Terminal.app`.
2. Set the app rule’s [`matchTools`](/documentation/NetworkExtension/NEAppRule/matchTools) property to an array that contains an [`NEAppRule`](/documentation/NetworkExtension/NEAppRule) for the `curl` command line tool.

Set this property to `nil` (the default) to match all network traffic generated by the matching app and all helper tool processes spawned by the matching app.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)