PlugPress

Troubleshooting and FAQ

Almost every Saddle problem is one of seven things — and two of them aren’t problems at all, but safety systems doing their job. This guide tells them apart and fixes each one.

Before anything else, open Saddle → Connections and expand Connection details & health. It checks your server for you and names the fault, which is faster than guessing.

Saddle connection details and health panel showing the site MCP address and the Test the endpoint button
The health panel checks your server, shows your site’s MCP address, and can round-trip a live test call.

Which problem do I have?

What you see What it means Fix
401, “key rejected” The key was revoked or rotated Reconnect or rotate the key
401, “no key arrived” Your server strips the Authorization header Run the health check
“Application Passwords are disabled” WordPress can’t issue keys at all Re-enable them
“Not allowed” / permission error One of your own controls blocked it Check the three controls
“This needs confirmation” The approval gate — working correctly Review and approve
ChatGPT: “does not implement OAuth” / timeout Sign-in is off, or a cache serves old pages Turn on sign-in in the wizard; purge caches
Saddle Pro: “needs 1.1.0 or newer” Pro 1.2.0’s version check was wrong Update Saddle Pro to 1.2.1

Why does my AI app get a 401 “key rejected” error?

Cause: that connection’s sign-in key no longer matches what the site expects — it was disconnected, or the key was rotated and the app still has the old one. Old setup snippets stop working the moment a key rotates.

Fix: go to Saddle → Connections. You have two options on the app’s row:

  • Rotate key — issues a fresh key under the same name and invalidates the current one immediately. Use this when you’ve lost the key, or think it may have leaked. Saddle then shows the full setup again; paste it into your app before closing.
  • Setup guide — reopens the instructions for that app without changing the key. Useful when you just need the address or the config shape.

Saddle only ever stores a key’s name and its last four characters, so it cannot show you an existing key again — rotating is the way back in.

Saddle Connected apps screen showing one connected app with Setup guide, Rotate key and Disconnect actions

Why does my AI app get a 401 “no key arrived” error?

Cause: your web server is stripping the Authorization header before it reaches WordPress. The app is sending the key correctly; the server drops it in transit. This is a common default on Apache and LiteSpeed with certain FastCGI configurations.

Fix: open Saddle → Connections → Connection details & health. Saddle sends a test request to its own site to see which headers survive, then tells you what it found:

  • If your site runs Apache or LiteSpeed and its .htaccess file is writable, you get a warning card titled “Your server is blocking app sign-ins” with a “Fix it for me” button. One click adds the rewrite rule and re-tests.
  • If Saddle can’t edit your configuration — nginx, a read-only .htaccess, or managed hosting — it says so and gives you copyable Apache and nginx snippets to hand to your host instead.

If the header still doesn’t arrive after the rewrite is added, Saddle tells you that too rather than claiming success.

What if it says a different header is being removed?

You may see a calmer note about your host removing one of WordPress’s own headers (X-WP-Nonce). There is deliberately no automatic fix for this one — it does not affect AI apps signing in with a key, and the safe change depends on your host. Connected apps keep working.

Why does it say Application Passwords are disabled?

Cause: WordPress’s Application Passwords feature has been switched off — usually by a security plugin, a host-level policy, or a snippet in a theme. Saddle issues every connection key through that feature, so with it off, no app can connect and no new keys can be created.

Fix: re-enable Application Passwords. Check your security plugin’s settings first, then any custom code filtering wp_is_application_passwords_available. If your host disabled it, ask them to turn it back on. This is the most serious of the connection faults — Saddle reports it ahead of everything else, because nothing works until it’s resolved.

Note that a site served over plain HTTP also has Application Passwords disabled by WordPress itself. Use HTTPS.

Why was a tool call refused with a permission error?

Cause: one of your own controls blocked it. A refused call changes nothing at all — there is no partial write.

Fix: if the action should be allowed, check the three controls in this order:

  1. Saddle → Settings → AI access. If this is paused, every call from every app is refused. The status pill at the top of every Saddle screen reads Paused when it is.
  2. Saddle → Permissions → access level. Just reading refuses every change; Reading & writing refuses site-management tools.
  3. Saddle → Permissions → the individual tool. Expand See everything it can do and check that specific tool’s switch.

Retrying without changing anything won’t help — the refusal is deliberate. Full detail in Permissions and Access Levels.

My AI said a deletion needs confirmation. Is something broken?

No — that’s the approval gate, and it is the system working exactly as designed. Every destructive action returns a preview and a single-use token first; nothing is touched until the app calls again with that token. Read the preview, and tell your assistant to go ahead if it’s right.

Why does ChatGPT say my site “does not implement OAuth”?

Cause: ChatGPT connects through Saddle’s OAuth sign-in, not a pasted key — and either that sign-in is still off (it’s off by default), or a page cache/CDN is serving the “not found” pages from before it was turned on. Older Saddle versions also didn’t publish the sign-in addresses ChatGPT checks first, which produced the same error on a fully working site.

Fix: update Saddle, then pick ChatGPT in Saddle → Connections → Connect an app — if sign-in is off, the wizard shows a Turn on sign-in button. If your site runs a page cache or CDN, purge it after turning sign-in on, then delete and recreate the connector in ChatGPT. The full walkthrough is in Connect ChatGPT to WordPress.

Why does Saddle Pro say it needs a newer Saddle?

Cause: Saddle Pro 1.2.0 shipped with a wrong minimum-version check. It demands a free Saddle version that was withdrawn before release, so next to the current free plugin it disables itself — the notice reads “Saddle 1.0.0 is active, but Pro needs 1.1.0 or newer” and every builder tool disappears from your AI’s toolkit.

Fix: update Saddle Pro to 1.2.1 or newer. That’s the whole fix — the builder tools come back on their own. Don’t look for a newer free Saddle; 1.0.0 is the current version, and the free plugin was never the problem.

FAQ

Does Saddle send my content anywhere?

No. Your content, your site data and your AI’s tool traffic never leave your WordPress install — there is no PlugPress relay, proxy, or analytics endpoint in the free plugin. The only outbound requests Saddle makes are ones you ask for: fetching a URL you told it to import, checking its own endpoint during a health check, calling Unsplash if you added your own Access Key, and fetching an app’s identity document if you turned on OAuth sign-in.

Can I see what an AI app changed on my site?

Yes — Saddle → Activity lists every change made through Saddle, newest first, along with every attempt that was blocked. Reading is never logged; only changes are.

How do I cut off AI access instantly?

Flip AI access off in Saddle → Settings to suspend every connection at once, or use Disconnect on a single app’s row in Saddle → Connections to cut off just that one.

Does Saddle work with several AI apps at once?

Yes. Create a separate connection per app — each gets its own key and can be rotated or disconnected independently, without affecting the others.

An AI edit looks wrong — can I undo it?

Posts and pages keep normal WordPress revisions, so you can restore a previous version from the editor. Deleted items go to the trash and can be restored until the trash is emptied.

My AI can’t see a plugin’s tools.

Check Saddle → Integrations — it lists what Saddle has detected. If the plugin is active but its tools aren’t there, the plugin may not expose them, or its tools may be switched off on the Permissions screen.

The connect wizard never notices ChatGPT connecting.

It should flip to connected the moment you approve ChatGPT on the consent screen. If it doesn’t, update Saddle — older versions couldn’t detect ChatGPT connections — and see Connect ChatGPT to WordPress.