---
schema_version: "1"
id: 9dd8dbd3b66716b32f0cf932806646fb7f27fed20187ff0097b5f70d7108304f
title: Create and Assign a Permission Set to Developer Users
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/salesforcedx/sfdx-dev/guides/sfdx-setup/sfdx-setup-permission-set.md
canonical_url: https://developer.salesforce.com/docs/platform/sfdx-dev/guide/sfdx-setup-permission-set.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 8808762a95385f6e57a084d83f0b66142e005065ece23df06f3e08b77d2675f0
products:
  - Salesforce DX Developer Guide
  - salesforcedx
---

# Create and Assign a Permission Set to Developer Users

To give full access to the Dev Hub org, create and assign a custom permission set that grants access to required Dev Hub objects. Or if you have the Developer license, assign the Developer permission set.

## Standard Developer Permission Set

If you're providing access to the Dev Hub org using the standard Developer license, it also includes a built-in Developer permission set. This permission set provides the required permissions for scratch orgs, and unlocked and second-generation managed packaging. You can use the provided Developer permission set or create your own.

## Create a Permission Set

Follow the steps to [create a permission set](https://help.salesforce.com/s/articleView?id=platform.perm_sets_create.htm), then add the required scratch org and packaging permissions.

## Required Permissions for Scratch Orgs

- Object Settings \> Scratch Org Infos \> Read, Create, Edit, and Delete
- Object Settings \> Active Scratch Orgs \> Read, Edit, and Delete

## Required Permissions for Unlocked Packaging and Second-Generation Managed Packaging

To work with unlocked or second-generation managed packages in the Dev Hub org, the permission set must contain the scratch org permissions and:

- Object Settings \> Namespace Registries \> Read
- System Permissions \> Create and Update Second-Generation Packages

The system permission provides access to:

| Salesforce CLI Command   | Tooling API Object (Create and Edit) |
| ------------------------ | ------------------------------------ |
| `package create`         | Package2                             |
| `package version create` | Package2VersionCreateRequest         |
| `package version update` | Package2Version                      |

## Assign Permission Set to Users

To assign one or more users to a permission set, or to remove a user from a permission set, see [Manage Permission Set Assignments](https://help.salesforce.com/s/articleView?id=platform.perm_sets_manage_assignments.htm) in _Salesforce Help_.
