Before You Begin
Requirements
Make sure your environment meets these requirements before installing.
WordPress
5.8 or higher
PHP
7.4 or higher
Anthropic API Key
console.anthropic.com
WordPress Role
Administrator
Outbound HTTPS
api.anthropic.com:443
Disk Space
Less than 1 MB
Outbound Requests
Your server must be able to make outbound HTTPS requests
to api.anthropic.com. Some locked-down hosting environments block external API calls —
check with your host if you see connection errors.
Setup
Installation
Get up and running in under two minutes.
1
Upload the Plugin
Extract the downloaded ZIP and upload the
claude-assistant folder to
your plugins directory.Directory Structure
/wp-content/plugins/claude-assistant/
├── claude-assistant.php
├── uninstall.php
├── readme.txt
└── assets/
├── assistant.js
└── assistant.css
2
Activate via WordPress Admin
Go to Plugins → Installed Plugins, find Claude AI
Virtual Assistant and click Activate.
After activation you will see a Claude Assistant entry in your admin sidebar,
just below the Dashboard menu item.
3
Add Your Anthropic API Key
Navigate to Claude Assistant → Settings and paste your
Anthropic API key. Get one free at
console.anthropic.com.Keep Your Key Private
Your API key is stored server-side and never
exposed to the browser or page source. Do not share it publicly.
4
Start Chatting
Go to Claude Assistant in the admin menu. The assistant is
ready. Click a quick-action chip or type any instruction in plain English.
Settings
Configuration
The plugin stores a single setting in your WordPress database.
Anthropic API Key
Stored in
wp_options under claude_va_api_key. Retrieved
server-side only — never exposed to the browser. Used exclusively in PHP when proxying requests to
Anthropic's API.Settings Page Location
Found at Claude Assistant → Settings in the WP admin. Direct
URL:
wp-admin/admin.php?page=claude-assistant-settingsNo database tables are created. The plugin uses only a single
wp_options row. When the
plugin is deleted, uninstall.php removes it automatically — including on multisite
networks.
What It Can Do
Features
Everything the assistant can manage through plain-English conversation.
Posts & Pages
List, create, update, delete, and inspect posts and pages. Set titles, content,
status (draft/published), and post type.
Users
List all users with their roles, or create new ones. New users receive a secure
auto-generated password and a reset email.
Plugins
View all installed plugins with version and active/inactive status. Activate or
deactivate any plugin by name.
Site Settings
Read site name, description, WP version, timezone, admin email and content counts.
Update allowed settings safely.
Comments
List pending, approved, or spam comments. Approve individual comments or
permanently delete them.
Categories
List all post categories with post counts, slugs and IDs. Create new categories on
the fly.
Media Library
Browse recent media attachments — see file titles, types, and direct URLs for
uploaded assets.
Secure by Default
All actions require administrator capability. Every AJAX request is nonce-verified.
The API key never leaves the server.
Translation Ready
All user-facing strings use the
claude-assistant text domain. Add
.po/.mo files to /languages/ to translate.
Developer Reference
Tool Reference
Every action the assistant can trigger, with their parameters and return values.
| Tool / Action | Parameters | Description |
|---|---|---|
| list_posts | count? status? type? |
Returns recent posts. Defaults: 10 posts, any status, post type. |
| create_post | title content status? type? |
Creates a new post or page. Returns the new ID and edit URL. |
| update_post | id title? content? status? |
Updates an existing post's title, content, or status by ID. |
| delete_post | id force? |
Moves a post to trash. If force=true, permanently deletes it. |
| get_post | id |
Returns full details of a single post including author and stripped content. |
| list_pages | count? |
Returns published pages. Defaults to 20. |
| list_users | count? |
Returns users with ID, name, email, and assigned roles. |
| create_user | username email role? |
Creates a new user with a generated password and sends a reset email. |
| list_plugins | — | Returns all installed plugins with name, version, file path, and active status. |
| activate_plugin | plugin |
Activates a plugin by its file path (e.g. akismet/akismet.php). |
| deactivate_plugin | plugin |
Deactivates a plugin by its file path. |
| get_site_info | — | Returns site name, URL, WP version, language, timezone, admin email, and counts. |
| update_option | key value |
Updates an allowed site option. Keys: blogname, blogdescription,
admin_email, timezone_string. |
| list_media | count? |
Returns recent media attachments with title, URL, and MIME type. |
| list_comments | count? status? |
Returns comments. Default status is hold (pending). Also accepts approve,
spam. |
| approve_comment | id |
Approves a pending comment by ID. |
| delete_comment | id |
Permanently deletes a comment by ID. |
| list_categories | — | Returns all categories with term ID, name, slug, and post count. |
| create_category | name |
Creates a new post category. Returns the new term ID. |
Parameters marked
? are optional. The assistant determines which tool to call
automatically — you never write JSON directly.
User Guide
Interface Guide
A tour of every element in the assistant panel.
Sidebar Navigation
The left panel groups all actions into three sections — Quick
Actions, Content, and System. Clicking any item instantly
fires that query. The active item is highlighted in purple.
Welcome / Empty State
When no conversation is active, the main area shows the assistant icon, a welcome
message, and six quick-action chips. Clicking any chip starts a conversation immediately.
Tool Result Bubbles
When the assistant calls a WordPress action, a green-bordered WP Action
bubble appears showing the action name and a formatted table — with color-coded ✓ Active / ✕ Inactive
badges for plugins.
Clear Button
The trash icon in the top-right clears the conversation history and resets to the
welcome state. Useful for starting a fresh session without refreshing the page.
Connection Status
The pulsing green dot shows Connected when an API key is
configured. If no key is saved it shows Not connected with a direct link to Settings.
Keyboard Shortcut
Press
Enter to send a message. Press Shift + Enter to
insert a line break without sending.
Privacy & Safety
Security
Security measures built into every layer of the plugin.
Server-Side API Proxy
All requests to Anthropic are made server-side using
wp_remote_post().
Your API key is never sent to the browser. The browser only communicates with your own
admin-ajax.php endpoint.Nonce Verification
Both AJAX actions call
check_ajax_referer() to verify WordPress nonces
on every request, preventing CSRF attacks.Capability Checks
Both AJAX handlers verify
current_user_can('manage_options') before
executing. Non-administrators receive a 403 Unauthorized response.Input Sanitization
All inputs sanitized via
sanitize_text_field(),
sanitize_email(), sanitize_key(), wp_kses_post(), and
intval() where appropriate.Output Escaping
All PHP output escaped with
esc_html(), esc_attr(),
esc_url(), or wp_kses(). All JavaScript output uses the escHtml()
helper before DOM insertion.Option Allowlist
The
update_option action only accepts a hardcoded allowlist of safe
keys. Any other key is rejected with an error — preventing arbitrary options from being modified.
Common Questions
FAQ
Where do I get an Anthropic API key? ▼
Visit console.anthropic.com, sign up for a free account, and navigate to
API Keys in the dashboard. Generate a new key and paste it into Claude Assistant
→ Settings. Treat it like a password and never share it publicly.
Is my API key safe? Can other users see it? ▼
Yes. The API key is stored in the WordPress database and used exclusively server-side in
PHP. It is never included in page source, JavaScript files, or AJAX responses. Only authenticated
administrators can access the settings page.
Why is the assistant giving wrong information about my plugins?
▼
This affects versions prior to v1.0.0. Older versions had a weaker system prompt that
occasionally allowed Claude to answer from its AI training data instead of calling the
list_plugins tool first. Version 1.0.3 forces a tool call before any site-specific answer.
Please update to the latest version.Who can access the assistant? ▼
Only WordPress administrators with the
manage_options capability. Editor,
Author, Subscriber, and Contributor roles cannot access the assistant panel or any of the AJAX actions.
How much will it cost to use the API? ▼
Costs are usage-based and depend on how many messages you send. A typical management task
uses a small number of tokens. Anthropic offers a free credit tier for new accounts. Monitor usage at
console.anthropic.com. The plugin uses
claude-sonnet-4-20250514 with a 2048
max token response.Does the plugin work on WordPress Multisite? ▼
Yes, when activated per-site on a multisite network. Network-wide management across all
sites is not currently supported.
uninstall.php handles cleanup across all sites when
deleted.I see "No API key set" even though I saved my key. What's
wrong? ▼
This was a bug in v1.0.1 caused by how
wp_localize_script() serializes PHP
booleans. Fixed in v1.0.2 by passing explicit "yes"/"no" strings. Update to the latest
version and hard-refresh with Ctrl+Shift+R (or Cmd+Shift+R on Mac).Can I translate the plugin? ▼
Yes. All PHP strings use the
claude-assistant text domain wrapped in
standard i18n functions. Create a .po file in the /languages/ directory and
compile it to a .mo file using Loco Translate or PoEdit.
Release History
Changelog
1.0.0
Initial Release
Initial public release with 20 WordPress management actions
Chat interface with suggestion chips, loading animation, and tool result
tables
Settings page for API key storage
Get Help
Support
Need help? Here is where to find it.
TemplateMonster Support
Use the Comments tab on the item page to submit support requests.
Include your WordPress version, PHP version, and a description of the issue.
Author Website
Visit https://www.templatemonster.com/authors/pixelnx/ for additional resources, contact
information, and other plugins from the same author.
Anthropic Support
For API key issues, billing, rate limits, or model behaviour, visit
support.anthropic.com.
Before Submitting a Support Request
Confirm you are on the latest version,
PHP is 7.4+, your API key has available credits, and your server can reach api.anthropic.com
on port 443.