Setting up your Salesforce Org for Scratch Org Pools

Scratch org pool state — pool membership, credentials and allocation — lives on sfp server. The Dev Hub needs no metadata for pooling: no package to install, no custom fields, no sharing rules. Setting up a Dev Hub for pools is registering it with the server.

Register the Dev Hub with sfp server

Authenticate the Dev Hub locally, then register it:

sf org login web -a devhub
sfp server org register -u devhub --devhub --default

Prepare validates the Dev Hub's authentication before it starts. The Dev Hub must hold either a valid SFDX auth URL or an access token — auth:web, auth:store, auth:accesstoken:store or org login --server all qualify. A Dev Hub registered via External Client App JWT bearer also works; scratch org signup is pinned to the PlatformCLI connected app in that case, and the resulting orgs carry standard refresh-token credentials.

Store the Dev Hub's SFDX auth URL in a secrets manager rather than in the repository. The value grants full access to the Dev Hub.

Developer access to scratch orgs

Developers fetch scratch orgs through sfp server:

sfp pool fetch -r <owner>/<repo> -p <pool-tag> --assignment-id <id> --alias my-org

The server holds each pooled org's credentials from the moment it is provisioned and returns them on fetch — the same applies to sfp scratch login and to fetching an environment in codev. A developer needs no access to the Dev Hub or to any of its objects.

On this page