Create and manage (B2C/SFCC/Demandware) on-demand sandboxes (ODS) with the b2c cli. Use when provisioning development instances, starting/stopping sandboxes, checking sandbox status, or managing sandbox lifecycle.
View on GitHubSalesforceCommerceCloud/b2c-developer-tooling
b2c-cli
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/main/skills/b2c-cli/skills/b2c-ods/SKILL.md -a claude-code --skill b2c-odsInstallation paths:
.claude/skills/b2c-ods/# B2C ODS Skill Only create or delete sandboxes when explicitly requested. Always confirm destructive actions. Use the `b2c` CLI plugin to manage Salesforce B2C Commerce On-demand sandboxes (ODS). Only create or delete a sandbox if explicitly asked as this may be a billable or destructible action. > **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli ods list`). ## Sandbox ID Formats Commands that operate on a specific sandbox accept two ID formats: - **UUID**: The full sandbox UUID (e.g., `abc12345-1234-1234-1234-abc123456789`) - **Realm-instance**: The realm-instance format (e.g., `zzzv-123` or `zzzv_123`) The realm-instance format uses the 4-character realm code followed by a dash or underscore and the instance number. When using a realm-instance format, the CLI will automatically look up the corresponding UUID. ## Examples ### List ODS Sandboxes ```bash b2c ods list # for realm zzpq with JSON output b2c ods list --realm zzpq --json # filter by status and those created by a specific user, only print the columns id,state,hostname b2c ods list --filter-params 'state=started,creating&createdBy=clavery@salesforce.com' --realm zzpq --columns id,state,hostname ``` ### Create ODS Sandbox Only create a sandbox if explicitly asked as this may be a billable action. ```bash # create in realm zzpq with 4 hour TTL (0 = infinite); json output and wait for completion (this may take 5-10 minutes; timeout is 10 minutes) b2c ods create --realm zzpq --ttl 4 --json --wait # create in realm zzpq with large profile (medium is default) b2c ods create --realm zzpq --profile large # get full log trace output to debug b2c ods create --realm zzpq --log-level trace ``` ### Get/Start/Stop/Restart/Delete Sandbox Commands that operate on a specific sandbox support both UUID and realm-instance formats: ```bash # Using UUID b2c ods get abc12345-1234-1234-1234-abc123456789 b2c ods start abc12345-1234-1234-1234-abc1