wp role list
Overview
List every role registered in WordPress — including core roles and any custom roles added by plugins or themes. Use this to discover valid role slugs before assigning them to users or auditing access control.
What It Does
wp role list reads from the wp_user_roles option and outputs all registered role objects. This includes the display name, slug, and optionally all capabilities assigned to each role.
Syntax
wp role list [OPTIONS]
Arguments & Options
| Flag | Description |
|---|---|
--fields=FIELDS | Fields to display: name, role |
--field=FIELD | Output a single field per line |
--format=FORMAT | Output format: table, json, csv, yaml |
Basic Usage
List all roles
wp role list
Output:
+---------------+---------------------+
| name | role |
+---------------+---------------------+
| Administrator | administrator |
| Editor | editor |
| Author | author |
| Contributor | contributor |
| Subscriber | subscriber |
| Shop Manager | shop_manager |
+---------------+---------------------+
Get role slugs only (for scripting)
wp role list --field=role
Export as JSON
wp role list --format=json
Real-World Scenarios
Scenario 1: Verify a role exists before assigning
if wp role list --field=role | grep -q "^custom_reviewer$"; then
wp user set-role john custom_reviewer
else
echo "Role does not exist — create it first with wp role create"
fi
Scenario 2: Audit all registered roles after plugin install
echo "=== Roles Before ==="
wp role list --field=role | sort > before.txt
# Install plugin...
wp plugin install custom-roles-plugin --activate
echo "=== Roles After ==="
wp role list --field=role | sort > after.txt
diff before.txt after.txt
Quick Reference
wp role list # All roles (table)
wp role list --field=role # Slugs only
wp role list --format=json # JSON output
Next Steps
wp role create— create a custom role.wp role delete— remove a custom role.wp cap list— list capabilities for a specific role.