---
title: Allow DYLD environment variables entitlement
framework: bundleresources
role: symbol
role_heading: Property List Key
path: bundleresources/entitlements/com.apple.security.cs.allow-dyld-environment-variables
---

# Allow DYLD environment variables entitlement

A Boolean value that indicates whether the app may be affected by dynamic linker environment variables, which you can use to inject code into your app’s process.

## Discussion

Discussion If your app relies on dynamic linker variables to modify its behavior at runtime, add the Allow DYLD environment variables entitlement to your app. This causes the macOS dynamic linker (dyld) to read from environment variables that begin with DYLD_. See the dyld man page for a list of these variables. Injecting libraries or changing search paths with this feature may still require another entitlement. For example, you also need the Disable Library Validation Entitlement if an injected library isn’t signed with the expected team ID. To add the entitlement to your app, first enable the Hardened Runtime capability in Xcode, and then under Runtime Exceptions, select Allow DYLD Environment Variables.

## See Also

### Hardened runtime

- [Allow execution of JIT-compiled code entitlement](bundleresources/entitlements/com.apple.security.cs.allow-jit.md)
- [Allow Unsigned Executable Memory Entitlement](bundleresources/entitlements/com.apple.security.cs.allow-unsigned-executable-memory.md)
- [Disable Library Validation Entitlement](bundleresources/entitlements/com.apple.security.cs.disable-library-validation.md)
- [Disable Executable Memory Protection Entitlement](bundleresources/entitlements/com.apple.security.cs.disable-executable-page-protection.md)
- [Debugging tool entitlement](bundleresources/entitlements/com.apple.security.cs.debugger.md)
