wp user session
Overview
View and destroy active login sessions for any WordPress user. Essential for incident response when an account is compromised — force a logout without needing wp-admin access.
What It Does
wp user session manages the _wp_session_manager / wp_usermeta session data that WordPress stores for logged-in users. Destroying sessions immediately invalidates all active cookies for a user.
Subcommands
| Subcommand | Description |
|---|---|
wp user session list USER | List all active sessions for a user |
wp user session destroy USER [TOKEN] | Destroy a specific session or all sessions |
Basic Usage
List active sessions for a user
wp user session list admin --format=table
Output:
+------------------------------------------+------------------+-------------------------+----------+
| token | ip | login | expiry |
+------------------------------------------+------------------+-------------------------+----------+
| a1b2c3d4e5f6... | 203.0.113.42 | 2026-01-14 08:32:00 | 48 hours |
+------------------------------------------+------------------+-------------------------+----------+
Destroy all sessions for a user (force logout)
wp user session destroy admin --all
Destroy a specific session by token
wp user session destroy admin a1b2c3d4e5f6...
Real-World Scenarios
Scenario 1: Security incident — force all admin sessions to expire
echo "Forcing logout of all admin accounts..."
for user in $(wp user list --role=administrator --field=user_login); do
wp user session destroy "$user" --all
echo " Logged out: $user"
done
echo "Done. All admins must re-authenticate."
Scenario 2: After password reset, invalidate old sessions
wp user update john --user_pass='NewSecure!2026' --skip-email
wp user session destroy john --all
echo "Password updated and all sessions terminated for john."
Scenario 3: Audit active sessions across all users
for user in $(wp user list --field=user_login); do
COUNT=$(wp user session list "$user" --format=count 2>/dev/null)
if [[ "$COUNT" -gt 0 ]]; then
echo "$user: $COUNT active session(s)"
fi
done
Best Practices
- Always destroy sessions after password rotation on compromised accounts.
- Force session destruction before deleting a user to ensure clean termination.
- Audit sessions periodically for admin accounts as part of a security review.
Quick Reference
wp user session list <user> # List sessions
wp user session destroy <user> --all # Force logout all sessions
wp user session destroy <user> <token> # Destroy one session
Next Steps
wp user update— reset the user's password.wp cap list— audit capabilities after a security event.wp user list— inventory the user base.