---
title: "es_new_descendants_client(_:_:)"
framework: endpointsecurity
role: symbol
role_heading: Function
path: "endpointsecurity/es_new_descendants_client(_:_:)"
---

# es_new_descendants_client(_:_:)

Create a new ES client scoped to descendant processes only.

## Declaration

```swift
func es_new_descendants_client(_ client: UnsafeMutablePointer<OpaquePointer?>, _ handler: @escaping es_handler_block_t) -> es_new_client_result_t
```

## Parameters

- `client`: Out param. On success, set to the newly created es_client_t.
- `handler`: The handler block invoked for each event.

## Return Value

Return Value Es_new_client_result_t indicating success or a specific error.

## Discussion

Discussion The returned client receives notify events for the calling process and auth+notify events for descendant processes (forked or exec’d after creation, recursively). All other processes are invisible. Process muting APIs are not available and return ES_RETURN_ERROR. Path muting and target-path muting work normally. note: Requires the com.apple.developer.endpoint-security.client entitlement. note: Does NOT require root privilege. note: Does NOT require TCC approval.
