=== Saddle – Build, Rank & Grow Your Website with AI ===
Contributors: badhonrocks
Tags: ai, seo, mcp, claude, chatgpt
Requires at least: 6.9
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.7.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Build, rank and grow your website with Claude, ChatGPT or Cursor: pages, SEO and updates done by your AI agent. Read-only to start; deletes ask first.

== Description ==

**Built and run by AI agents: found on Google, cited in AI answers.**

Saddle lets the AI agent you already use build, rank and grow your website. Ask Claude, ChatGPT or Cursor in plain words, and it does the work on your site with real WordPress tools. You decide what it may change.

Saddle is the free core of WP Saddle. It works on its own, and each free add-on gives your AI agent more to work with.

= Build =
* **Pages that look like your site:** real block editor and Divi 5 pages in your theme's colors, fonts and patterns. A page check finds layout, contrast and accessibility problems, and a preview link shows the page before it goes live.
* **Content written your way:** drafts of new posts, updates to old ones, images from a link or from Unsplash, and menus kept in order. Teach it your voice and rules once with Skills, and it remembers.
* **A site that keeps running:** plugin, theme and WordPress updates through WordPress's own updater, with its backup and rollback, and Site Health in plain words.

= Rank =
* **SEO fixes:** your AI agent rewrites SEO titles and descriptions with Saddle Rank, Yoast SEO, Rank Math or All in One SEO.
* **Ready for AI answers:** with Saddle Rank it also writes FAQ schema and page summaries, fixes broken links, redirects missing pages and keeps an llms.txt, so search engines and AI answers can read your pages.
* **Where you rank:** with Saddle Cloud, Google Search Console and keyword tracking, and weekly Google checks that show whether Google's AI Overview cites you.

= Grow =
* **Know who visits:** with [Saddle Analytics](https://wordpress.org/plugins/saddle-analytics/), free and cookieless, ask "how many people did ChatGPT send us this week?" and get the numbers your dashboard shows.
* **Find what to write next:** with Saddle Cloud, keyword research, competitors checked every week and article plans your AI agent writes as drafts.
* **Every site from one chat:** with Saddle Cloud, one AI connection for all your sites, with uptime alerts.

= Safe on a live site =
* A new agent can only read. You choose Read only, Edit content or Manage the site for each one.
* Deletes, installs and other big changes show a preview first, and any tool can be set to ask first. You can let a Manage the site agent skip this; it is off until you turn it on.
* Every change is logged, and most can be undone. Saddle never runs code from the AI.

Guides, examples and docs: [saddle.to](https://saddle.to)

= Try it now =
Click **Live Preview** at the top of this page to explore every screen in a test WordPress in your browser. AI agents cannot connect to the preview; install Saddle on your own site for that.

= How it works =
1. Install Saddle.
2. Connect your AI agent under **Saddle → Agent setup**: all your sites through Saddle Cloud, or just this site by pasting its address into the agent and approving it when your browser opens.
3. Ask your AI to write, edit or check your content.

Saddle works with Claude, Claude Code, ChatGPT, Cursor, VS Code, Codex, Gemini CLI and other agents that support MCP. Setup for each is at [saddle.to/docs](https://saddle.to/docs).

= Content =
* Posts and pages: Create, edit and delete posts and pages.
* Custom content types: Work with the post types your plugins and theme add, such as products, events or docs.
* Media: Upload images from a URL and edit their details.
* Categories and tags: Create and list categories and tags.
* Search: Find any post, page or media item.
* Menus: Create a menu, add, rename, move and remove its items, and choose which menu shows in each theme location.
* Users: List users and read their profiles.

= Block editor pages =
* Block pages: Build pages with real blocks that stay editable in the block editor, and add, edit, move or remove single blocks.
* Theme styles: Use your theme's colors, fonts, spacing and patterns, and add a palette, type scale and spacing to a block theme.
* Templates and patterns: Read templates, template parts and global styles. On a block theme, change a template, the header or the footer, add a template part, or save a section as a pattern. Changes are saved in the database; theme files are never edited.

= Divi 5 pages =
These tools work on sites running Divi 5.

* Divi pages: Build and edit pages with real Divi modules. Add, edit, move and remove modules, and change page settings.
* Loops and dynamic content: Repeat a module for each post in a query, and show live post data in module fields.
* Display conditions and presets: Show or hide a module by rule, and apply a saved preset.
* Divi design data: Read global colors, fonts, variables and presets, and list Library items and Theme Builder templates.

Saddle edits Divi 5 pages only. It leaves Divi 4 shortcode pages untouched.

= Check the result =
* Page check: Find layout, contrast and accessibility problems on a block or Divi 5 page, with a score and a fix for each problem.
* Node view: See the real styles and HTML of any part of a page.
* Preview: Get a short-lived preview link to see the page before it goes live.

= Integrations =
The SEO and WooCommerce tools work when that plugin is active.

* Yoast SEO, Rank Math and All in One SEO: Read and edit the SEO title, meta description and robots of posts and pages, plus terms, schema type or social fields where the plugin has them.
* WooCommerce: List and read products and variations. Listing orders needs Edit content, because orders show customer names and emails.
* Unsplash: Find and import free stock photos with your own Unsplash API key.
* Other plugins: Any plugin can add its own tools. Tools from other developers stay off until you switch them on in Saddle → Settings → Advanced.

= Skills and memory =
* Skills: Add short Markdown guides that tell your AI how you work.
* Built-in Skills: Use the included guides to build a page and fix a page.
* Memory: Let your AI save notes and use them in later sessions.
* Recent changes: Let each new session see what changed on the site.

= Site management =
These tools stay off until you give an agent Manage the site.

* Settings: Change the site title, permalinks and reading options.
* Plugins and themes: Activate, deactivate and switch them after a preview. Install by name from WordPress.org only; a new install arrives inactive. Saddle never installs from a zip or a link, and never deletes a plugin or theme.
* Updates: Apply plugin, theme, WordPress and translation updates through WordPress's own updater, which keeps a backup. Major WordPress releases need Saddle's own switch in Settings, which is off by default.
* Site Health and cache: Read Site Health results and clear the cache.

= Safety =
* Access for each agent: Read only, Edit content or Manage the site. New agents start at Read only.
* Confirmation: Deletes, overwrites, installs, plugin switches and theme changes show a preview first.
* Run without asking: Let an agent set to Manage the site skip previews. It is off until you turn it on in Agent setup, and deleted posts and pages still go to the Trash.
* Tool switches: Set each tool to Allow, Ask first or Off. Ask first waits for your OK in wp-admin.
* Drafts only, Rehearsal and Pause: Keep new posts as drafts, let an agent practise while nothing is saved, or block all AI requests with one switch.
* Logs and Undo: Every change and blocked request is logged. Undo restores earlier versions, untrashes and puts settings back. Updates, installs and permanent deletes cannot be undone.
* Protected settings: The site URL, security keys, user roles and admin email cannot be changed.

Saddle never runs code from the AI, has no shell access and cannot write files. The one file it changes is .htaccess, only when you click Fix it for me in the connection check, to pass sign-in headers to WordPress. Uninstalling Saddle removes it.

= Connecting an agent =
Turn on sign-in for agents once, when the wizard offers it. After that an agent needs only your site's address, and an administrator approves it on your site. Sign-in needs HTTPS and pretty permalinks. Otherwise, agents can connect with a pasted key (a WordPress Application Password that works only with Saddle). ChatGPT needs sign-in.

= Saddle Pro =
[Saddle Pro](https://saddle.to) is a paid add-on for Divi 5 sites, and it needs this free plugin. It adds Divi design system, Library and Theme Builder edits, building or cloning whole pages, site-wide image and preset changes with undo, a design brief, and WooCommerce bulk edits with undo.

Every feature in this free plugin stays free. Saddle → Get Premium shows Saddle Cloud's plans and prices only while Saddle Pro is not installed. It sends nothing; its buttons open saddle.to or Saddle Cloud.

= Credits =
* Iconoir icons (MIT): [iconoir.com](https://iconoir.com)
* AI agent logos from LobeHub Icons (MIT): [github.com/lobehub/lobe-icons](https://github.com/lobehub/lobe-icons). Each logo belongs to its owner.

== Installation ==

1. Install and activate Saddle from **Plugins → Add New**.
2. Go to **Saddle → Agent setup** and pick your agent.
3. Paste the address into your AI agent and approve the connection when your browser opens.
4. To allow changes, choose Edit content or Manage the site next to the agent on **Saddle → Agent setup**.

== Frequently Asked Questions ==

= Do I need an account? =

No. Saddle is free and runs on your own site.

= Does my content go through your servers? =

No. Your AI agent connects to your site directly. Saddle sends no usage data unless you choose to share it on Saddle's Overview.

= Can I try Saddle before installing it? =

Yes. Click Live Preview on this page. You can explore every screen. To connect an AI agent, install Saddle on a real site, because the preview runs only in your browser.

= Can the AI delete my content? =

Only for an agent with Edit content or higher. Each delete shows a preview first. It runs only after a second confirmation. By default, deleted posts go to the trash.

If you turn on Run without asking for an agent with Manage the site, that agent deletes without the preview. Deleted posts and pages still go to the trash, and you can undo the delete in Logs.

= Can the AI run code on my server? =

No. Every action uses standard WordPress functions.

= Does it work with ChatGPT? =

Yes. Go to **Saddle → Agent setup**, pick ChatGPT, and turn on sign-in when Saddle offers it. Then add your site as a connector in ChatGPT and approve it when ChatGPT sends you to your site.

= Does it work with page builders? =

Saddle edits Divi 5 pages with real Divi modules. It protects layouts from other page builders against accidental overwrites.

= Do I need the MCP Adapter plugin? =

No. Saddle works on its own. If MCP Adapter is active, Saddle uses it.

== External services ==

Saddle sends no tracking or usage data unless you choose to. It connects to another site only in these cases:

1. Upload from URL: WordPress downloads the one file you asked for.
2. Connection check: Saddle sends a test request to your own site.
3. Live page check (optional): This runs only when your AI agent asks for it after editing a published page. Saddle loads that page from your own site, as a visitor would, to confirm the change is live.
4. Unsplash (optional): This runs only after you add your own API key under **Saddle → Settings**. Saddle sends your search words or a photo ID to `api.unsplash.com`. It downloads photos from `images.unsplash.com`. Each imported photo gets a caption that credits the photographer, as Unsplash requires. You can edit or remove it. See the [API Guidelines](https://help.unsplash.com/en/articles/2511245-unsplash-api-guidelines), [API Terms](https://unsplash.com/api-terms) and [Privacy Policy](https://unsplash.com/privacy).
5. OAuth agent check (optional): This runs only when OAuth sign-in is on. Saddle reads a public web address the agent provides to confirm who the agent is. It sends nothing about your site.
6. Updates and Site Health (optional): When your AI agent lists or applies updates, or reads Site Health, WordPress runs its own checks with WordPress.org and downloads the update packages it already offers, from WordPress.org or a plugin's own update server, exactly as the Updates screen does. After updating an active plugin, WordPress loads your own home page once to check for a fatal error.
7. Plugin and theme directory (optional): When your AI agent searches for a plugin, or installs a plugin or theme, WordPress sends the search words or the slug to `api.wordpress.org`, as the **Add New** screens do. The same happens when you choose to add Saddle Analytics in Saddle's welcome or on Home. Like every WordPress.org request WordPress makes, it includes your WordPress version, language and site address. Saddle keeps search results on your site for an hour. An install downloads the package from `downloads.wordpress.org`. Saddle refuses a package from anywhere else.

8. Usage data (optional): A small card on Saddle's Overview and the Plugins screen asks once whether to share your name, email and basic site info with PlugPress, for better support. Nothing is sent until you click **Allow**, and **No thanks** sends nothing. Allow sends the name and email of the account that clicked it, your site address and title, WordPress and PHP versions, language, timezone, theme, your plugins with their versions, and a random id for your site to `console.plugpress.io`, then once a week while sharing is on, only when something changed. Turn it off with **Stop sharing site info** under Saddle on the Plugins screen, and PlugPress forgets what identifies your site. A copy of your site at another address is asked again. Add `define( 'PLUGPRESS_INSIGHT', false );` to `wp-config.php` to remove the card and the form entirely. See the [Privacy Policy](https://saddle.to/privacy/).
9. Saddle news (optional): Only if you tick **Also email me Saddle news** on that card, or click **Subscribe** on the news card, the email address you typed goes to `console.plugpress.io`, which passes it to PlugPress's newsletter on `plugpress.io` without keeping it. You get an email to confirm first, and every newsletter has an unsubscribe link.
10. Deactivation feedback (optional): When you deactivate Saddle on the Plugins screen, a short form asks why. **Skip and deactivate** sends nothing. **Send and deactivate** sends the reason you picked, what you typed, your email only if you tick **Reply to me**, Saddle's version, and your WordPress and PHP versions and language to `console.plugpress.io`. It never sends your site address.
11. Saddle Cloud (optional, only if you connect it): Saddle's welcome and **Agent setup** offer a link to Saddle Cloud at `cloud.saddle.to`, with your site's address filled in. Saddle itself sends nothing to it. If you connect your site there, Saddle Cloud signs in like any AI agent: your site shows its own Allow screen, and you choose what Cloud may do. After that, the calls your AI agent makes through Saddle Cloud reach your site through that sign-in, and your site still decides each one. Saddle Cloud keeps what its [Privacy Policy](https://saddle.to/privacy/) lists. Disconnect it any time in **Agent setup**.

The WordPress.org version never checks for its own updates. The version from plugpress.co checks at most once every six hours. It sends only the plugin name and version number.

== Privacy ==

* Saddle stores its settings, Skills, memory, activity log and short-lived confirmation codes on your site.
* With OAuth on, it also stores approved agents and a one-way hash of their tokens.
* For each connected agent, it stores the name the agent reports, when it connected and last called, and the names of its last five tools. It stores no tool inputs or results.
* Saddle sends no personal data off your site unless you choose to: your name and email if you tick that part of usage data, an address you give for Saddle news, and a reply address you add to deactivation feedback. PlugPress keeps usage data while you share it and clears what identifies your site after 12 months without an update. It deletes deactivation feedback after 24 months.
* Deactivating or deleting Saddle deletes the agent keys it made, because nothing limits them while Saddle is off. Agents that connected with a key need to connect again after you turn Saddle back on. Keys you made yourself stay.
* Uninstalling removes all Saddle data.

== Screenshots ==

1. Overview: what waits for your OK, your week in numbers, and the AI agents you connected.
2. Agent setup: copy your address, connect any MCP agent, and choose what each agent may do.
3. Logs: every change your AI agents made, and every one Saddle stopped.
4. Settings: for each tool, choose Allow, Ask first or Off.
5. Context: tell every agent about your site, its goal, its voice and its rules.
6. Welcome: Saddle looks around your site and helps you connect your first AI agent.

== Changelog ==

= 1.7.0 =
* New: Connecting your AI agent shows two ways, in the welcome and at the top of Agent setup: all your sites through Saddle Cloud, free up to 500 AI agent calls a month, or just this site through its own address. Saddle Cloud's button opens it with this site's address filled in, and Saddle sends nothing. Once Saddle Cloud is connected, its card says so.
* New: Run without asking, on Saddle → Agent setup, for each agent set to Manage the site. With it on, that agent's changes and deletes run right away, with no preview and no OK from you. It is off for every agent until you turn it on, and Saddle asks you to confirm first. Tools you turned off stay off, deleted posts and pages go to the Trash, and every change is logged and can be undone in Logs.
* Changed: Ask first is off by default. A tool asks first only when you set it to, alone or with the recommended set. A tool added by a later update, or by a plugin you activate later, is allowed like the others instead of asking first. Tools you set to Ask first keep asking.
* New: Your AI agent can create a menu, and show it in a theme location such as the header or footer in the same step. Until now it could only change menus that already existed.
* New: A small card on Overview and the Plugins screen asks once whether to share your name, email and basic site info with PlugPress for better support, and offers Saddle news by email, which you confirm by email first. Nothing is sent until you click Allow or Subscribe.
* New: When you deactivate Saddle, a short form asks why. Skip sends nothing. The card and the form use WordPress's own buttons and your admin colour scheme.
* New: `define( 'PLUGPRESS_INSIGHT', false );` in `wp-config.php` turns off the card and the form.
* Changed: Get Pro is now Get Premium and shows Saddle Cloud's four plans, each with unlimited sites and one yearly price: Free, Go $49, Pro $99 and Reach $299. Free's button opens Saddle Cloud with this site's address filled in.
* Changed: Saddle is now named "Saddle – Build, Rank & Grow Your Website with AI", here and on the Plugins screen: the free core of WP Saddle. Its menu, settings and address are unchanged.
* Changed: AI apps are now called AI agents everywhere in Saddle.

= 1.6.3 =
* Fix: Saddle's own records (app connections, approvals, the log, skills and memory) are no longer saved as published posts. SEO plugins that tell search engines about new posts, such as AIOSEO's IndexNow, could send links like `?post_type=saddle_oauth&p=123` to Bing. The links never showed anything (they return 404), and now they stop. Existing records move over once, on the first page load after the update.

= 1.6.2 =
* Changed: The Saddle menu reads Overview, your add-ons, Context, Agent setup, Logs, Settings and Get Pro, as one plain list with no dividing line. Home is now called Overview. Get Pro carries a crown, and it is gone once Saddle Pro is installed, even while switched off.
* Changed: Activity moves from Overview to its own page, Saddle → Logs: every change your apps made and every attempt Saddle blocked, with Undo. This week on Overview links to it.
* Changed: On Overview, your connected apps are cards, up to three in a row, each with its access and its next step, and a last card connects another app. The card group is called Agent setup. Add-ons show their own WordPress.org icons.
* New: Analytics is always in the Saddle menu. Until Saddle Analytics is on, its page says what it does and installs it from WordPress.org in one click; then the same page shows your stats.
* Changed: Get Pro is clearer. The plans sit side by side with their rows lined up, Pro marked with a crown, and each plan shows its sites, AI-app calls a day and SEO credits a month. Four short answers follow.
* Changed: On a site on this computer, Agent setup marks the apps that need a public site, and picking one shows one short note with the apps that run here.
* Fix: Mark as expected on the notice that the site's address changed now clears it. Since each app got its own access, the button did nothing.

= 1.6.1 =
* New: Saddle → Get Pro, the last item in the Saddle menu, shows the Go, Pro and Reach plans for 5, 20 or 50 sites, with their prices billed yearly and a button to each plan's checkout on saddle.to. It is hidden while Saddle Pro is active, sends nothing from your site, and changes nothing else.

= 1.6.0 =
* Changed: Saddle CRM is now Mailpuff, PlugPress's standalone newsletter plugin. Its tools work as soon as it is active, like Bridle's.
* New: Ask first. In Saddle → Settings → Advanced → What each tool may do, set any tool to Allow, Ask first or Off. A tool set to Ask first shows you the change and waits under Needs your OK on the Dashboard. It runs only after you approve it there; a yes in the chat is not enough. Each app's access level still applies.
* New: A recommended set in the same place, applied in one click. Plugins, themes, updates, settings and anything that deletes ask you first, and publishing needs your OK. Content edits stay allowed, and a tool you turned off stays off. Nothing is set until you click.
* New: A tool added by a later Saddle update, or by a plugin you activate later, asks you first until you choose what it may do. Tools that exist when you update to this version keep working exactly as before.
* New: Home is one column of soft cards. This week leads with big numbers and a bar for each of the last seven days. Your AI apps follow, each with what it may do as a coloured label, when it was last used and its next step: Try it for an app that has not tried Saddle yet, Change access for one that can only look. Add-ons are tiles that open them, and Saddle Analytics shows today's visitors there.
* Changed: AI apps is now Agent setup. Your site's address sits on top with Copy, then your connected apps, then every app down the side with its steps beside it. Connecting no longer opens a panel, and Setup guide and Rotate key show that app's steps on the page.
* Changed: The Saddle menu shows its page names without icons.
* Changed: The Services page is gone. Add your Unsplash key under Settings → Accounts, and switch on plugins from other developers under Settings → Advanced → Plugins that add tools. Old links to Services open Settings.
* New: The welcome ends with one more question: do you want visitor stats? Say yes and Saddle Analytics installs from WordPress.org and turns on, without leaving the page. Home offers it under Add-ons too. It is asked only when you may install plugins and Saddle Analytics is not on yet.
* Fix: A list item your AI app writes now keeps its CSS class and style on the page. They used to reach the block's settings only, so an icon or style set by class disappeared.
* Fix: A block's anchor now becomes its HTML id, so links to #anchor reach it. An anchor made in the block editor is kept when your AI app edits that block.
* Fix: When your AI app changes only the settings of a paragraph, heading, list item, separator or spacer, such as a drop cap, a heading level or a class, the page now shows the change. It used to keep the old markup.
* Fix: When sign-in by address cannot read an app's identity because this server cannot look up the app's address, Saddle now says so and suggests a key. It used to say the address pointed to a private network. WordPress Playground and Studio cannot look up outside addresses.

= 1.5.2 =
* New: Your AI app can search the WordPress.org plugin directory. Each result shows the plugin's version, active installs, rating, last update and the WordPress and PHP versions it needs, and whether it is already installed and active on your site.
* New: Your AI app can install a plugin from the WordPress.org directory by its name. It shows a preview first, with warnings when the plugin is not tested with your WordPress or has not been updated in two years, and waits for your approval. WordPress's own installer then adds it in the background. The plugin arrives inactive, so turning it on is a separate step you approve. Saddle never installs from a zip file or a link, and never deletes a plugin.
* New: Your AI app can install a theme from the WordPress.org directory the same way. The theme is not activated. A child theme needs its parent theme installed first, so WordPress never adds a theme you did not see.
* New: Your AI app can update WordPress itself to a release WordPress offers. Minor and security releases are always allowed. A major release, such as 7.1 to 7.2, is allowed only if you turn on Major WordPress releases in Saddle → Settings. It is off by default, and no app can turn it on. The preview lists active plugins not tested with the new version, and nothing happens until you approve.
* New: Your AI app can apply the translation updates WordPress offers, after a preview, through WordPress's own language pack updater.
* Fixed: Saddle and the WordPress MCP Adapter plugin 0.7.0 can now run on the same site. Activating the adapter next to Saddle stopped with a fatal error, and with both active every page failed. Saddle now serves its own endpoint itself when the adapter is a version it doesn't support yet, and keeps its built-in copy of the adapter out of the way of the official plugin.
* Changed: Saddle's brand color is now magenta, the same as saddle.to. It shows on the logo, primary buttons, switches when on and the selected access level. Links and greys stay WordPress's own.
* Changed: Bridle and Bridle KB are PlugPress plugins, so their tools are on as soon as the plugin is active, like Mailyard and SEO. You no longer switch them on under Services.
* Fixed: When a step shows a preview first, such as moving a post to the trash, your AI app now shows you the preview and waits for your yes. Claude Code reads only the start of Saddle's guide, and it could confirm on its own.

= 1.5.1 =
* New: A plugin that adds a page under Saddle can draw it as one page, with no sidebar and no tab row. Its settings open from the page and lead back to it. Saddle Analytics uses this.
* Changed: On a plugin's page under Saddle, such as SEO or CRM, the sections sit in a white panel on the left, and the page starts right beside it instead of in the middle of the screen.

= 1.5.0 =
* New: Each connected app has its own access. On AI apps, choose Read only, Edit content (posts, pages, media, menus and SEO) or Manage the site (also plugins, themes, updates and settings) for each app. A new app starts at Read only. Updating Saddle keeps what each existing app could already do and never widens it.
* New: Needs your OK. When an app asks to make a big change, such as publishing or deleting, you can approve or reject it on Home as well as in the chat. The request shows what would change. Only the app that asked can confirm it, and a request leaves the list once its app no longer has the access it needs.
* New: Undo from Home. An Undo link on a change in the Activity feed shows what comes back, then asks you to confirm. A change edited since, a permanent delete or a plugin update says why it can't be undone.
* New: Undo. Your AI app can reverse changes from the activity log: a page's earlier content and settings, trashed posts, created posts and tags, settings, the theme and plugin activation. It previews what comes back and waits for your approval. A change that was edited again since is skipped with the reason, and the undo can itself be undone.
* New: Practice mode. Turn it on in Saddle > Settings and every tool that would change your site answers with what it would have done, and saves nothing. Reading works as usual, and each attempt shows in Activity as rehearsed. It is off by default.
* New: Custom content types. Your AI app can list, read, create, edit and trash items of the custom post types your plugins and theme add, such as products, events or docs, and assign their own categories. Each type keeps its own permissions. Saddle manages the types that appear in wp-admin.
* New: Menus. Your AI app can list menus and read their items, add links to pages, posts, categories or any URL, rename and reorder items, remove an item after a preview, and assign a menu to a theme location. This covers classic themes, which have no navigation block.
* New: Templates, parts and patterns on block themes. Your AI app can replace a template or the header or footer after a preview of what changes, create a new template part, and save a section of a page as a pattern. Everything is saved in the database. The theme's files are never edited, and the Site Editor can reset a template to the theme's version.
* New: Plugin and theme updates. Your AI app can apply updates that WordPress is already offering. It previews every item first and waits for your approval. Then WordPress's own updater runs the update in the background, keeps a backup, and restores an active plugin that causes a fatal error. Your AI app can also turn automatic updates on or off per plugin or theme, and read the Site Health checks. Saddle never installs or deletes a plugin and never updates WordPress itself.
* New: The page check flags links and buttons a screen reader can't name, link text like "click here", titles long enough to be cut off in search results, and published posts without an excerpt.
* New: Your AI app can check that a change is live. It loads the published page as a visitor would and says when a page cache is still serving the old version.
* New: Your AI app can upload a file it has no public link for, such as an image it made. It sends the file itself, and WordPress checks it like any other upload.
* New: Your AI app can build with blocks from other plugins that hold other blocks and render on the server, such as a section block with a heading and a paragraph inside. The block schema says which blocks each one accepts.
* New: A "Check the connection" tool. Your AI app can find out why tools are missing or why another app cannot connect, and tell you how to fix it.
* New: Your Skills appear as prompts. Apps that show MCP prompts, such as Claude Desktop, Cursor and VS Code, list each enabled Skill as a slash command. They are hidden while Saddle is paused, and gone when the Skill is turned off.
* New: The Context page. Tell every connected app about your site in five fields: about this site, current goal, voice and style, rules, and other instructions. Skills, memory and what Saddle tells every app automatically are on the same page.
* New: Your AI app can list Saddle's pages and read their settings, then give you a link to the right screen instead of describing clicks. It can ask to change a setting, shows you the change first, and the change can be undone. It can never change its own access, pause, practice mode, publishing approval or sign-in.
* Improved: Connecting an app takes one address. Turn on sign-in for apps once, paste the address into Claude, Claude Code, ChatGPT, Codex, Cursor, VS Code, Gemini CLI or Windsurf, and approve the connection when your browser opens. No key to copy and nothing to install. Pasted keys still work and stay the fallback for sites without HTTPS or pretty permalinks.
* Improved: Claude on the web and in the desktop app connects as a custom connector, with no bridge to install. Claude, Cursor and VS Code also get an Add button that opens the app with your site filled in. OpenClaw, Grok and Windsurf join the app list.
* Changed: Saddle is one menu in wp-admin with five pages: Home, AI apps, Services, Context and Settings. Each page and each tab has an icon. Every page has a header that reads "Saddle / Page" and a switch that pauses all apps at once.
* Changed: Home shows anything waiting for your OK, what changed this week, recent activity, your connected apps and any modules. Until an app is connected, it shows one step: connect an app.
* Changed: First run is a short conversation. It reads your site, helps you connect your AI app, and has you paste a read-only prompt to watch it work. It asks what the app may do only after the app connects, and skipping keeps it at Read only. If the app has not connected after two minutes, Saddle checks HTTPS, permalinks and the sign-in header, and offers a key instead. Settings > Run setup again opens it at any time.
* Changed: AI apps lists your connected apps by the name each app reports, with its access and a menu to rotate its key or disconnect it. Connect an app opens a panel with the apps grouped as chat apps, agents and code editors. Making a key happens in the same panel, with the same short steps as the address, and a key you never copy is removed when you leave.
* Changed: On a site that runs on your own computer, the Connect panel and the welcome point you to the apps that can reach it (Claude Code, Cursor and Codex), and Claude users to its desktop app.
* Changed: Activity names the app that made each change, such as "via Claude Code", and keeps the name after you disconnect the app. Each action is in plain words, such as "Blocked · Update option · needs Manage the site".
* Changed: The Services page replaces Integrations. It lists Unsplash, the SEO and shop plugins Saddle edits, and the plugins that add tools to Saddle. Each says what it sends off your site and which tools it gives your AI apps. Plugins from other developers still stay off until you switch them on.
* Changed: Unsplash tools stay out of your AI app's tool list until you add a key under Services. Searching Unsplash needs Edit content access, because it uses your Unsplash quota. On WordPress 7.0 and later, the same key also appears under Settings > Connectors.
* Changed: Settings is one page: Safety (publishing needs your OK, practice mode, stop writes if the site moves) and Advanced (turn off single tools, sign-in for apps, memory limits, recent changes and the connection check).
* Changed: The Saddle screens look like WordPress's own pages. The page uses the same grey as the rest of wp-admin, blocks have a visible edge, and text, form controls and links use WordPress's own colors and your admin color scheme. Saddle's own color, a deep teal, appears only on its logo, buttons and switches. Saddle shows at most one notice at the top of its pages and keeps the rest behind the bell.
* Changed: Activating or deactivating a plugin, or switching the theme, shows a preview first, and nothing changes until your AI app confirms it. The request also waits for you under Needs your OK.
* Changed: Your AI app is no longer offered the tools for Divi 5, Yoast SEO, Rank Math, All in One SEO or WooCommerce when that plugin is not active. At Read only its tool list is about a third smaller, and the app is told which plugins are missing.
* Changed: The activity log says what a confirmed change did, such as "Moved post #5 to the trash.", instead of repeating what the app asked. Your own approvals read "You approved Claude Code's request: …".
* Improved: When an app tries a tool it may not use, it is told why: its access level, a tool you turned off, or Saddle being paused. It no longer gets a bare "Permission denied".
* Improved: Skills. Uploading a skill with a name you already have asks before it replaces it, and you can edit your own skills in place on the Context page.
* Improved: Settings switches save as soon as you flip them and say "Saved." "Turn off single tools" lists only the tools that can run on your site.
* Improved: Saddle's pages show their layout while they load, instead of a blank page or a spinner.
* Improved: Previews and the activity log name custom content types by their label, such as "Event". Asking for an item by the ID of another content type says which type it is.
* Changed: Listing WooCommerce orders needs Edit content, because orders show customer names and emails. Products can still be read at Read only.
* Changed: Saddle Analytics, Saddle Rank and Saddle CRM, PlugPress's own plugins, are trusted like Waggle: their tools work as soon as they are active, with no switch to turn on. Saddle Rank is Waggle's new name, and any Waggle tool you switched off stays off after the rename.
* New: For plugin developers: the saddle_modules filter adds a page under the Saddle menu with its own icon, a sidebar of sections, icon tabs and an address for each page. Describe a module's settings once, and Saddle draws the form, serves it over the REST API and offers it to agents. A full-screen page outside the Saddle frame can load Saddle's colors.
* Removed: The unused dark and light theme setting. The Saddle screens have one light theme.
* Fixed: Deactivating or deleting Saddle now deletes the app keys it made. Before, a key still worked on the rest of the WordPress REST API while Saddle was off, without Saddle's limits. Apps that connected with a key need to connect again after you turn Saddle back on.
* Fixed: An app whose key was revoked or deleted got WordPress's "invalid application password" message. It now gets Saddle's: the key was rejected, so reconnect the app.
* Fixed: Trashing a post that is already in the trash says so instead of failing with an error.
* Fixed: Moving a block to where it already is says nothing moved, and a position past the end says where the block went.
* Fixed: The WooCommerce product tool also accepts the product's ID as "id", the name the post and page tools use.
* Fixed: The button block's guide told AI apps never to set the link the way its own example did. It now says to give the link as the button's url.
* Fixed: An AI app that passed an argument to a tool that takes none, such as listing Divi modules with a search word, caused a critical error on the site. It now gets a normal answer.
* Fixed: On Divi 5 sites, styling body text on a text module and similar modules now works. Saddle gave your AI app a path Divi does not read, so the color and size saved but never showed.
* Fixed: On a Divi shop, your AI app can use Divi's WooCommerce modules, such as the products grid. They were missing from the module list.
* Fixed: On Divi 5 sites, the design summary your AI app receives includes the site's heading and body fonts, and the Divi guide gives the right address for a page's first section.
* Fixed: The design check no longer counts a dark tinted background, such as slate or a near-black green, as a second accent color.
* Fixed: Removing a block or a Divi module with a confirmation that was already used could remove the block that had moved into its place. A used or out-of-date confirmation is now refused.
* Fixed: Editing a list's items with a single block edit left an empty list followed by the old items. The new items now replace the old ones inside the list, and the page check flags any block whose inner blocks render outside it.
* Fixed: With Saddle active, Gravity Forms' "Site MCP" mode and other plugins that share the MCP Adapter's default server lost their MCP connection. Saddle now leaves that server running when another plugin uses it, and keeps its own tools off it.
* Fixed: The connection check could not tell whether your server passes sign-in headers through, and always said "unknown". It now gives a real answer.
* Fixed: OAuth sign-in from Claude Code and other apps that run on your own computer no longer fails when the app uses a different port than last time. Only the port may change. Every other part of the return address must still match.
* Fixed: On a site with the trash turned off, the delete preview no longer says a post or page can be restored.
* Fixed: Closing the connect screen no longer removes a key the app has already used.
* Fixed: Page lists include each page's slug, parent and menu order, as the tool description already said. Post lists include the slug.

= 1.3.0 =
* New: Other plugins can add their own tools to Saddle. Tools from other developers stay off until you switch them on under Saddle > Integrations.
* Improved: The Integrations screen shows each plugin's author, how many tools it adds, and whether it is built in, from PlugPress or from another developer.

= 1.2.2 =
* Fixed: The MCP endpoint returned 404 when another plugin bundled the WordPress MCP Adapter without starting it, such as Gravity Forms 3.1. Saddle now starts the adapter itself, and falls back to its own transport if the adapter does not serve the endpoint.

= 1.2.1 =
* New: Live Preview. Try Saddle in a test WordPress in your browser, straight from this page.
* Improved: A clearer, rewritten description. Saddle is a plugin your AI app connects to, not a server.

= 1.2.0 =
* New: Divi 5 pages. Build and edit Divi 5 pages with real Divi modules: add, edit, move and remove modules, change page settings, loops, dynamic content, display conditions and presets.
* New: Page check for Divi 5. Lint, verify and render-node work on Divi 5 pages.
* New: Read Divi global colors, fonts, variables and presets, and list Library items and Theme Builder templates.
* New: Yoast SEO, Rank Math and All in One SEO. Read and edit SEO titles, descriptions, robots and social fields.
* New: WooCommerce. List and read products, variations and orders.
* Improved: Skills that ship with more than one plugin are listed once.

= 1.0.1 =
* New: Drafts-only mode. New posts save as drafts, and publishing needs a confirmation.

= 1.0.0 =
* Initial release.
