---
title: PluginPermission
framework: packagedescription
role: symbol
role_heading: Enumeration
path: packagedescription/pluginpermission
---

# PluginPermission

The type of permission a plug-in requires.

## Declaration

```swift
enum PluginPermission
```

## Overview

Overview Supported types are PluginPermission.allowNetworkConnections(scope:reason:) and PluginPermission.writeToPackageDirectory(reason:).

## Topics

### Create a permission

- [PluginPermission.allowNetworkConnections(scope:reason:)](packagedescription/pluginpermission/allownetworkconnections(scope:reason:).md)
- [PluginPermission.writeToPackageDirectory(reason:)](packagedescription/pluginpermission/writetopackagedirectory(reason:).md)

### Allow network connection

- [PluginNetworkPermissionScope](packagedescription/pluginnetworkpermissionscope.md)

## See Also

### Creating a Plugin Target

- [plugin(name:capability:dependencies:path:exclude:sources:packageAccess:)](packagedescription/target/plugin(name:capability:dependencies:path:exclude:sources:packageaccess:).md)
- [pluginCapability](packagedescription/target/plugincapability-swift.property.md)
- [Target.PluginCapability](packagedescription/target/plugincapability-swift.enum.md)
- [PluginCommandIntent](packagedescription/plugincommandintent.md)
- [plugin(name:capability:dependencies:path:exclude:sources:)](packagedescription/target/plugin(name:capability:dependencies:path:exclude:sources:).md)
