Skip to content

Plugin Check Namer: AJAX error response is silently ignored — no error message shown to user #1211

@raftaar1191

Description

@raftaar1191

Description

When using the Plugin Check Namer Tool (/wp-admin/tools.php?page=plugin-check-namer)
with WordPress 7.0 and the trunk branch of plugin-check, if the AJAX request returns
a success: false response, the error message from the response is not displayed anywhere
in the UI
. The form simply does nothing after submission, leaving the user with no feedback.

Steps to Reproduce

  1. Install WordPress 7.0.
  2. Use the trunk branch of the plugin-check plugin.
  3. Navigate to the new Connectors screen in WordPress admin and enter an Anthropic API key
    that has a low or zero credit balance.
  4. Navigate to Tools → Plugin Check Namer.
  5. Enter a plugin name (e.g. WordPress Plugin Test) and optionally an author name, then click
    Evaluate name.
  6. The AJAX request completes, but no error message is shown on the page.

Expected Behaviour

If the AJAX response contains success: false, the data.message from the response should be
displayed to the user as a visible error notice — for example:

Bad Request (400) – Your credit balance is too low to access the Anthropic API. Please go to
Plans & Billing to upgrade or purchase credits.

Actual Behaviour

Recording.96.mp4

The AJAX response with success: false is received (confirmed via browser DevTools → Network
tab), but the UI shows nothing. No error notice, no inline message, no feedback of any kind.

Response payload observed in DevTools:

{
  "success": false,
  "data": {
    "message": "Bad Request (400) – Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."
  }
}

Environment

  • WordPress version: 7.0
  • Plugin-check branch: trunk
  • Browser: Chrome (reproduced via DevTools Network panel)

Suggested Fix

In the JavaScript that handles the AJAX response for the Plugin Check Namer, ensure the error
branch (i.e. when response.success === false) reads response.data.message and renders it
as a visible error notice in the UI — similar to how other WordPress admin notices handle errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions