Skip to content

Add Service Account experiment#211

Draft
Jameswlepage wants to merge 4 commits intoWordPress:developfrom
Jameswlepage:feature/system-user
Draft

Add Service Account experiment#211
Jameswlepage wants to merge 4 commits intoWordPress:developfrom
Jameswlepage:feature/system-user

Conversation

@Jameswlepage
Copy link
Contributor

@Jameswlepage Jameswlepage commented Feb 4, 2026

What?

Exploring the concept of a true "service account"; something a real user can create as a way for a service, like Claude Code, an automation tool, or an API can use to interact with WP in a safe, auditable manner. It's an actual new user type, and I've hacked a bit to get some of the UI "core-like". If it moves closer to a core feature, we'll need to rethink but for now, I'm interested in thinking around ... "do we need this"?

  • Adds the Service Account experiment (role, admin UI, REST endpoints).
  • Registers the experiment in the loader.
  • Adds integration coverage and documentation.

Why?

Service accounts enable automation and non-interactive access while keeping user activity traceable in logs and revisions. This is core-aligned functionality that needs dedicated UX and API support.

How?

  • Introduce the Service Account experiment classes and manager.
  • Add admin UI customizations for service account creation/editing.
  • Add REST endpoints for service account CRUD and app-password regeneration.
  • Add docs and integration tests.

Testing Instructions

  1. Enable the Service Accounts experiment.
  2. Go to Users > Add New, select the Service role, enter a service account name.
  3. Confirm username/email auto-populate; create the user.
  4. In Users list, verify the service account shows and the Service Accounts view has an accurate count.
  5. Edit the service account and create an Application Password in the section below.
  6. REST: POST /wp/v2/service-accounts, GET /wp/v2/service-accounts, POST /wp/v2/service-accounts/{id}/app-password.

Testing Instructions for Keyboard

  1. Use Tab to reach the Role dropdown on Users > Add New.
  2. Use arrow keys to select Service role, Tab to the Service account name field.
  3. Type a name, Tab through username/email (read-only) and password.
  4. Tab to submit and press Enter.
  5. On the edit screen, Tab to the Application Passwords section and generate a password.

Screenshots or screencast

CleanShot 2026-02-04 at 14 06 53@2x CleanShot 2026-02-04 at 14 07 25@2x Open WordPress Playground Preview

@Jameswlepage Jameswlepage changed the title Service Accounts: consistency, migration, and tests Add Service Account experiment Feb 4, 2026
@Jameswlepage
Copy link
Contributor Author

Note; we will need to remove provider specific labels (Claude Code) if this gets closer to being a real thing.

@jeffpaul jeffpaul added this to the Future Release milestone Feb 5, 2026
@jeffpaul jeffpaul moved this to In discussion / Needs decision in WordPress AI Planning & Roadmap Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In discussion / Needs decision

Development

Successfully merging this pull request may close these issues.

2 participants