---
title: PluginPermission
framework: swift-package-manager
role: symbol
role_heading: Enumeration
path: swift-package-manager/documentation/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:)](swift-package-manager/documentation/packagedescription/pluginpermission/allownetworkconnections(scope:reason:).md)
- [PluginPermission.writeToPackageDirectory(reason:)](swift-package-manager/documentation/packagedescription/pluginpermission/writetopackagedirectory(reason:).md)

### Allow network connection

- [PluginNetworkPermissionScope](swift-package-manager/documentation/packagedescription/pluginnetworkpermissionscope.md)

## See Also

### Creating a Plugin Target

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