{"id":381885,"date":"2026-10-11T11:55:49","date_gmt":"2026-10-11T11:55:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/errorhandle\/"},"modified":"2026-10-19T14:31:21","modified_gmt":"2026-10-19T14:31:21","slug":"errorhandle","status":"publish","type":"plugin","link":"https:\/\/kin.wordpress.org\/plugins\/errorhandle\/","author":23580909,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.10","stable_tag":"0.2.10","tested":"7.1.3","requires":"6.9","requires_php":"8.1","requires_plugins":null,"header_name":"errorHandle","header_author":"errorHandle LLC","header_description":"Tell WordPress what you want it to do. Describe an outcome in plain English; errorHandle designs a safe automation, explains it, tests it, and \u2014 once you approve \u2014 runs it as ordinary PHP with no further AI calls.","assets_banners_color":"4b455a","last_updated":"2026-10-19 14:31:21","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/errorhandle.com\/errorhandle\/","header_author_uri":"https:\/\/errorhandle.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":326,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"errorhandle","date":"2026-10-11 13:00:56","revision":3739505},"0.2.1":{"tag":"0.2.1","author":"errorhandle","date":"2026-10-11 16:29:12","revision":3739787},"0.2.10":{"tag":"0.2.10","author":"errorhandle","date":"2026-10-19 14:31:21","revision":3754979},"0.2.2":{"tag":"0.2.2","author":"errorhandle","date":"2026-10-11 17:33:34","revision":3739881},"0.2.3":{"tag":"0.2.3","author":"errorhandle","date":"2026-10-11 20:09:04","revision":3740060},"0.2.4":{"tag":"0.2.4","author":"errorhandle","date":"2026-10-11 20:54:39","revision":3740122},"0.2.5":{"tag":"0.2.5","author":"errorhandle","date":"2026-10-11 23:16:26","revision":3740267},"0.2.6":{"tag":"0.2.6","author":"errorhandle","date":"2026-10-11 23:58:39","revision":3740282},"0.2.7":{"tag":"0.2.7","author":"errorhandle","date":"2026-10-12 00:52:58","revision":3740315},"0.2.8":{"tag":"0.2.8","author":"errorhandle","date":"2026-10-12 01:15:02","revision":3740333},"0.2.9":{"tag":"0.2.9","author":"errorhandle","date":"2026-10-12 12:20:35","revision":3741469}},"upgrade_notice":{"0.2.10":"<p>Fixes &quot;my website is slow, what is causing it?&quot; and questions like it,\nwhich 0.2.9 could reject instead of answering. Worth updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3739447,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3739447,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3739474,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3739474,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0","0.2.1","0.2.10","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.8","0.2.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3740124,"resolution":"1","location":"assets","locale":"","width":1280,"height":795},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3740124,"resolution":"2","location":"assets","locale":"","width":1280,"height":1305},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3740124,"resolution":"3","location":"assets","locale":"","width":1280,"height":720},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3740124,"resolution":"4","location":"assets","locale":"","width":1280,"height":720},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3740124,"resolution":"5","location":"assets","locale":"","width":1280,"height":720},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3740124,"resolution":"6","location":"assets","locale":"","width":1280,"height":1119},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3740124,"resolution":"7","location":"assets","locale":"","width":1280,"height":2769}},"screenshots":{"1":"Ask in your own words.","2":"A preview: how many pages are affected, and exactly what changes.","3":"Approve when you are ready \u2014 or test it first.","4":"Done, checked, and undoable in one click.","5":"Creating a page works the same way.","6":"Set up a job once and it runs by itself, free.","7":"Every change errorHandle has made, with undo next to each one."}},"plugin_section":[],"plugin_tags":[2353,569,12127,18932,286],"plugin_category":[45],"plugin_contributors":[285796],"plugin_business_model":[],"class_list":["post-381885","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-automation","plugin_tags-search-and-replace","plugin_tags-site-maintenance","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-errorhandle","plugin_committers-errorhandle"],"banners":{"banner":"https:\/\/ps.w.org\/errorhandle\/assets\/banner-772x250.png?rev=3739474","banner_2x":"https:\/\/ps.w.org\/errorhandle\/assets\/banner-1544x500.png?rev=3739474","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/errorhandle\/assets\/icon-128x128.png?rev=3739447","icon_2x":"https:\/\/ps.w.org\/errorhandle\/assets\/icon-256x256.png?rev=3739447","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/errorhandle\/assets\/screenshot-1.png?rev=3740124","caption":"Ask in your own words."},{"src":"https:\/\/ps.w.org\/errorhandle\/assets\/screenshot-2.png?rev=3740124","caption":"A preview: how many pages are affected, and exactly what changes."},{"src":"https:\/\/ps.w.org\/errorhandle\/assets\/screenshot-3.png?rev=3740124","caption":"Approve when you are ready \u2014 or test it first."},{"src":"https:\/\/ps.w.org\/errorhandle\/assets\/screenshot-4.png?rev=3740124","caption":"Done, checked, and undoable in one click."},{"src":"https:\/\/ps.w.org\/errorhandle\/assets\/screenshot-5.png?rev=3740124","caption":"Creating a page works the same way."},{"src":"https:\/\/ps.w.org\/errorhandle\/assets\/screenshot-6.png?rev=3740124","caption":"Set up a job once and it runs by itself, free."},{"src":"https:\/\/ps.w.org\/errorhandle\/assets\/screenshot-7.png?rev=3740124","caption":"Every change errorHandle has made, with undo next to each one."}],"raw_content":"<!--section=description-->\n<p><strong>Tell errorHandle what you want changed on your website, in plain English,\nand it does it.<\/strong> No code, no page builder, no settings to learn.<\/p>\n\n<p>Describe what you want in your own words. If anything is unclear it asks\nbefore doing anything, then shows you exactly what will change. Nothing\nhappens until you say yes, and you can undo it afterwards.<\/p>\n\n<p>Some things you ask for once. Others you ask for once and they keep\nhappening on their own \u2014 <strong>errorHandle builds those with AI, and after that\nthey run without AI at all<\/strong>, so no additional AI credits are needed.<\/p>\n\n<h4>Pages and content<\/h4>\n\n<ol>\n<li><em>\"Add a returns policy page, but don't publish it yet.\"<\/em><\/li>\n<li><em>\"There's a typo on my contact page \u2014 'recieve'. Fix it and put it live.\"<\/em><\/li>\n<li><em>\"Update the About page to say we've moved to New York.\"<\/em><\/li>\n<\/ol>\n\n<h4>Across your whole site<\/h4>\n\n<ol>\n<li><em>\"Our phone number changed to (555) 123-4567. Update it everywhere.\"<\/em><\/li>\n<li><em>\"Change 'Call us today' to 'Schedule a consultation' on my pages.\"<\/em><\/li>\n<li><em>\"My site feels slow \u2014 have a look and tell me what's wrong.\"<\/em> Looking is\nfree and changes nothing. If it finds something it can fix, it names the\nexact setting and asks you first.<\/li>\n<\/ol>\n\n<h4>Your shop<\/h4>\n\n<ol>\n<li><em>\"Order 1482 wants delivery after the 14th \u2014 make a note on it and put it\non hold.\"<\/em><\/li>\n<li><em>\"Mark orders 1482, 1483 and 1490 as this week's batch.\"<\/em><\/li>\n<\/ol>\n\n<h4>When something happens<\/h4>\n\n<ol>\n<li><em>\"Whenever someone new signs up, let me know who they are.\"<\/em><\/li>\n<li><em>\"Whenever someone places an order over $500, flag it and email the\nwarehouse.\"<\/em><\/li>\n<li><em>\"If an order gets refunded, make a note on it and email accounts.\"<\/em><\/li>\n<\/ol>\n\n<h4>On a schedule<\/h4>\n\n<ol>\n<li><em>\"Every night, clear out the expired temporary data my site builds up.\"<\/em><\/li>\n<li><em>\"Every Monday, make a draft post for our weekly update.\"<\/em><\/li>\n<\/ol>\n\n<h4>A few steps at a time<\/h4>\n\n<ol>\n<li><em>\"Give me a link I can paste into my form tool, so new enquiries arrive\nas drafts and I get an email.\"<\/em> errorHandle gives you a private link\nthat works only for that one job.<\/li>\n<li><em>\"If someone buys this product, send them a follow-up email three days\nlater.\"<\/em> The wait is kept safely: the email goes out later with that\norder's details and shows up in your history. Turn the job off and\nanything still waiting is dropped.<\/li>\n<\/ol>\n\n<h4>These are examples, not limits<\/h4>\n\n<p><strong>You don't need to copy any of these, or use any particular wording.<\/strong> Just\ntell errorHandle what you want however feels natural \u2014 keep it short, or add\nas much detail as you like. It works out the steps, asks if it needs to know\nmore, and shows you a preview before anything changes. These are a handful\nof ideas, not the full list of what it can do.<\/p>\n\n<p><strong>One note on timing:<\/strong> anything on a schedule, and anything left waiting,\ndepends on WordPress's own timer, which only ticks when somebody visits your\nsite. On a very quiet site, things can run late.<\/p>\n\n<p>Between them these cover editing content, site-wide search and replace,\nWooCommerce orders and free site maintenance checks. Licensing, external\nservices and data handling are answered in the FAQ.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install from <strong>Plugins \u2192 Add New<\/strong>, or upload the ZIP.<\/li>\n<li>Activate it.<\/li>\n<li>Open <strong>errorHandle<\/strong> and choose how to power it. <strong>Nothing is sent\nanywhere until you make that choice.<\/strong><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20know%20how%20to%20code%3F\"><h3>Do I need to know how to code?<\/h3><\/dt>\n<dd><p>No. That is the point. You describe the outcome in ordinary English and\napprove the plan errorHandle shows you.<\/p><\/dd>\n<dt id=\"how%20is%20the%20ai%20powered%2C%20and%20do%20i%20need%20an%20api%20key%3F\"><h3>How is the AI powered, and do I need an API key?<\/h3><\/dt>\n<dd><p>Four ways, and you choose on first run. <strong>Nothing is sent anywhere until you\ndo.<\/strong><\/p>\n\n<ol>\n<li><strong>errorHandle AI<\/strong> \u2014 the ten free commands below. Opt in with a button.<\/li>\n<li><strong>WordPress AI<\/strong> \u2014 recommended on WordPress 7.0+. Your site holds the\nkey; errorHandle never sees one.<\/li>\n<li><strong>Your own API key<\/strong> \u2014 Anthropic, OpenAI or Google Gemini. Requests go\nstraight from your server to your provider, uncounted and uncapped.<\/li>\n<li><strong>The offline planner<\/strong> \u2014 runs on your server and contacts nothing. It\nrecognises common request shapes rather than free-form description.<\/li>\n<\/ol>\n\n<p>Only building uses AI, so running an automation never adds to a bill.<\/p><\/dd>\n<dt id=\"what%20does%20it%20cost%3F\"><h3>What does it cost?<\/h3><\/dt>\n<dd><p><strong>Ten free AI commands<\/strong> \u2014 three with no account or card, seven more after\nyou confirm an email address. <strong>errorHandle Pro is $9 a month or $90 a\nyear<\/strong> for 300 credits a month, with no API key to manage; one applied\nrequest costs one credit, and unused credits do not carry over. Stripe\nhandles payment and errorHandle never sees your card.<\/p>\n\n<p>If credits run out, planning pauses until the monthly refresh; nothing is\ncancelled and everything you built keeps working. Nothing free today becomes\npaid.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20change%3F\"><h3>Can I undo a change?<\/h3><\/dt>\n<dd><p>Yes, for anything reversible, from the History screen; the preview tells you\nup front when something cannot be undone, such as sending an email. After\napplying, the change is verified and reported as done, partly applied, or\nfailed.<\/p><\/dd>\n<dt id=\"what%20can%20it%20change%2C%20and%20what%20can%20it%20not%3F\"><h3>What can it change, and what can it not?<\/h3><\/dt>\n<dd><p>Pages and posts \u2014 create, edit wording, replace text across the site,\npublish and unpublish \u2014 your automations, emails and webhooks you ask for,\nand with WooCommerce, order notes, status and custom fields. Administrators\nonly.<\/p>\n\n<p>It does not change site settings, themes, plugins or files. It writes\nordinary page and post content \u2014 the same HTML WordPress itself permits,\npassed through WordPress's own post filter, which drops <code>&lt;script&gt;<\/code> and\n    <\/p><\/dd>\n<dt id=\"which%20external%20services%20can%20errorhandle%20use%2C%20and%20what%20do%20they%20receive%3F\"><h3>Which external services can errorHandle use, and what do they receive?<\/h3><\/dt>\n<dd><p>errorHandle contacts an external service <strong>only when you have explicitly\nchosen one.<\/strong> It asks on first run, and the default \u2014 the offline planner \u2014\ncontacts nothing.<\/p>\n\n<p>Whichever you choose, the provider receives: the text of the request you\ntyped; the list of operations your site supports, meaning names and\ndescriptions rather than your data; a technical summary of your site, being\nWordPress and PHP versions, active theme name, whether WooCommerce or\nElementor are active, counts of posts and pages, public post type names,\ntimezone and currency code; and the titles and IDs of a few pages that look\nrelevant to your request.<\/p>\n\n<p>It does <strong>not<\/strong> receive post or page content, customer records, orders, user\naccounts, email addresses, passwords, API keys, or anything about your\nvisitors.<\/p>\n\n<p><strong>errorHandle AI (optional)<\/strong> uses errorHandle's hosted service at\nwp.errorhandle.com, after you press a button to agree. At registration it\nreceives your site's address and your WordPress, PHP and plugin versions,\nthen asks your site to publish a single-use token at one public URL to prove\nthe site is yours. For each request it receives the items above and forwards\nthem to <strong>Anthropic<\/strong>, which generates the plan. It records how many\ncommands you have used and approximate token counts, and does not keep your\nrequests, content, users or IP address. A confirmed email address is stored\nhashed and encrypted, and the confirmation email is sent through <strong>Microsoft\nGraph<\/strong>. Terms: https:\/\/errorhandle.com\/wp-errorhandle-terms\/ \u2014 Privacy:\nhttps:\/\/errorhandle.com\/wp-errorhandle-privacy\/<\/p>\n\n<p><strong>Your own AI provider (optional).<\/strong> With your own key, or with WordPress\nAI, requests go directly from your server to that provider; errorHandle is\nnot involved and receives nothing.<\/p>\n\n<ul>\n<li><strong>Anthropic<\/strong> \u2014 api.anthropic.com \u2014\nTerms: https:\/\/www.anthropic.com\/legal\/consumer-terms \u2014\nPrivacy: https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<li><strong>OpenAI<\/strong> \u2014 api.openai.com \u2014\nTerms: https:\/\/openai.com\/policies\/terms-of-use \u2014\nPrivacy: https:\/\/openai.com\/policies\/privacy-policy<\/li>\n<li><strong>Google Gemini<\/strong> \u2014 generativelanguage.googleapis.com \u2014\nTerms: https:\/\/ai.google.dev\/gemini-api\/terms \u2014\nPrivacy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p>Those three, plus wp.errorhandle.com, are <strong>every host this plugin can\ncontact<\/strong> \u2014 each only once you have chosen it \u2014 along with any address\n<strong>you<\/strong> enter yourself in a webhook or fetch action. Other hostnames in the\nsource are never contacted \u2014 links for you to click, a blocklist of private\naddresses outbound requests are refused for, and host-preview suffixes\ncompared against your own site address so a throwaway copy cannot claim a\nsecond free trial.<\/p><\/dd>\n<dt id=\"what%20does%20errorhandle%20store%2C%20and%20what%20happens%20when%20i%20uninstall%3F\"><h3>What does errorHandle store, and what happens when I uninstall?<\/h3><\/dt>\n<dd><p>Everything the plugin stores stays in your own WordPress database: your\nrequests and plans, execution history, applied changes and their undo data,\nyour automations, and your encrypted provider credentials. What leaves your\nsite depends entirely on which AI option you chose, and is set out in the\nanswer above.<\/p>\n\n<p>Uninstalling removes the plugin's data from your database. It does not\ndelete the record on our side of how many free commands a site has used,\nbecause that record is what stops a reinstall granting another ten.<\/p>\n\n<p>Full policy: https:\/\/errorhandle.com\/wp-errorhandle-privacy\/<\/p><\/dd>\n<dt id=\"who%20makes%20errorhandle%2C%20and%20under%20what%20licence%3F\"><h3>Who makes errorHandle, and under what licence?<\/h3><\/dt>\n<dd><p>errorHandle is developed and operated by <strong>errorHandle LLC<\/strong> \u2014\nhttps:\/\/errorhandle.com\/<\/p>\n\n<p><strong>This plugin<\/strong> is Copyright \u00a9 2026 errorHandle LLC, licensed under the\n<strong>GNU General Public License, version 2 or later<\/strong>. You may use, study,\nmodify and redistribute it, including commercially. Nothing on this page or\non our website withdraws those rights. The full licence ships in <code>LICENSE<\/code>,\nand the plugin bundles no third-party code.<\/p>\n\n<p><strong>The errorHandle hosted AI service<\/strong> at wp.errorhandle.com \u2014 optional, and\nthe source of the free commands \u2014 is a separate, proprietary service. \u00a9 2026\nerrorHandle LLC. All rights reserved. Nothing about it limits your rights to\nthe plugin. Without the hosted service you can power errorHandle with\nWordPress AI, your own Anthropic, OpenAI or Google key, or the built-in\noffline planner, which contacts nothing and recognises common request shapes\nrather than free-form description.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.10<\/h4>\n\n<p>A fix for the commonest question this plugin exists to answer.<\/p>\n\n<ul>\n<li><strong>\"My website is slow. What is causing it?\" works again.<\/strong> The plan\nvalidator was throwing away good plans. Asked that question, the model\nreliably returned a complete, valid plan \u2014 a summary, a read-only\ndiagnosis step, sensible notes \u2014 while labelling its own intent\n\"clarify\" and leaving the question blank. Taking that label at its word\nmeant discarding the plan and showing an error instead. A plan that\nasks a question <em>and<\/em> supplies steps has contradicted itself, and the\nsteps are the substance, so the steps now win.<\/li>\n<li>An empty plan now returns a clear 422 rather than a 500, and says so in\nwords you can act on instead of a stack trace.<\/li>\n<\/ul>\n\n<p>Nothing else changed. No new capabilities, no database changes, no\nsettings to revisit.<\/p>\n\n<h4>0.2.9<\/h4>\n\n<p>A check now tells you what it found.<\/p>\n\n<ul>\n<li><strong>Findings are listed, not just counted.<\/strong> 0.2.8 would say \"found 2\nsmaller notes\" and never say what they were, which is the one thing\nyou asked. Each finding now shows how serious it is, what it is, what\nit means, the measurements behind it, and whether errorHandle can fix\nit for you.<\/li>\n<li>Severity is written as a word \u2014 Serious, Worth attention, Minor,\nFine \u2014 as well as shown in colour, so it reads the same for everyone.<\/li>\n<li><strong>No more \"Undo this\" after a check that changed nothing.<\/strong> The button\nnow appears only when there is genuinely something to undo.<\/li>\n<li>The Ask screen invites a problem as readily as a change.<\/li>\n<\/ul>\n\n<h4>0.2.8<\/h4>\n\n<p>You can now tell errorHandle what is <em>wrong<\/em>, not only what to change.<\/p>\n\n<ul>\n<li><strong>\"My website is slow. What is causing it?\"<\/strong> now works. So does\n\"something is wrong, find the problem\" and \"check my site's health\".\nerrorHandle investigates and reports what it found.<\/li>\n<li>The health checks existed in 0.2.5 but only behind a Health tab you\nhad to know to open \u2014 no use to someone who does not know what is\nwrong and therefore does not know where to look. They are now on the\nend of a sentence.<\/li>\n<li>Asking about speed gets an answer about speed. Asking about security\ngets an answer about security.<\/li>\n<li><strong>Looking changes nothing and costs no credits<\/strong>, so you can ask as\noften as you like, even on an exhausted trial.<\/li>\n<\/ul>\n\n<h4>0.2.7<\/h4>\n\n<p>Clearer credits, and a fix to when they appeared to refresh.<\/p>\n\n<ul>\n<li><strong>Pro now shows when your credits refresh<\/strong>, by name: \"Pro \u2014 258\ncredits left this month. Your 300 credits refresh on 14 November.\"<\/li>\n<li><strong>Running out is explained properly.<\/strong> You get 300 more on a named\ndate, your subscription is not affected, nothing is cancelled, and you\nare not charged again for the refresh.<\/li>\n<li><strong>Fixed a stale balance.<\/strong> The monthly refresh only happened when you\nnext ran a command, so after the month turned the plugin could still\nshow nothing left until you tried to use it. The refresh was real; the\nnumber on screen was out of date. Reading your balance now gives the\nsame answer as spending from it.<\/li>\n<li>A trial shows no refresh date, because ten commands are for the\nlifetime of the site rather than a monthly allowance.<\/li>\n<\/ul>\n\n<h4>0.2.6<\/h4>\n\n<p>Fixes the Upgrade button, which did not work in 0.2.5.<\/p>\n\n<ul>\n<li><strong>The Upgrade and Manage subscription buttons sent you to the wrong\nplace.<\/strong> The plugin was handing the browser the address of its own API\ninstead of the Stripe page, so pressing Upgrade appeared to do nothing.\nFound by running the whole purchase on a real site rather than trusting\nthat the request succeeded \u2014 it did succeed; the answer was simply read\nwrongly.<\/li>\n<li>The allowance now reports credits, so a Pro site reads \"258 credits left\nthis month\" rather than counting in free commands it no longer has.<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<p>errorHandle Pro is available.<\/p>\n\n<ul>\n<li><strong>Pro: $9 a month or $90 a year<\/strong>, for 300 credits a month with no API\nkey to manage. Buy it, and cancel it, from your own dashboard \u2014 payment\nis handled by Stripe and errorHandle never sees your card.<\/li>\n<li>A credit is one thing you asked for and applied. Everything errorHandle\ndoes today costs one credit; more involved work will cost more, and you\nare always told before it starts.<\/li>\n<li><strong>Nothing that was free has become paid.<\/strong> The ten free commands, your\nown API key with no metering, the offline planner and every capability\nare exactly as they were.<\/li>\n<li>Added a Health screen: nine read-only checks over your site \u2014 updates,\nunsupported PHP, overdue scheduled tasks, unmaintained plugins, debug\nsettings left on, and data loading on every page. Scans are free, make\nno external request, and never cost a credit.<\/li>\n<li>Two repairs you can approve from a finding: stop an oversized leftover\nsetting loading on every page (exactly reversible), and clear expired\ntemporary data (which cannot be undone, and says so).<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<p>Plainer wording and a shorter preview, for people who do not think in\nWordPress terms.<\/p>\n\n<ul>\n<li>The Ask screen now says <strong>\"What would you like errorHandle to do?\"<\/strong> and\nexplains what happens next: errorHandle shows you the plan and asks for\nyour approval.<\/li>\n<li>The buttons say what they do: <strong>Preview changes<\/strong>, <strong>Test changes<\/strong>,\n<strong>Approve changes<\/strong>. \"Build it\", \"Test it\" and \"Apply\" are gone.<\/li>\n<li><strong>A much shorter preview.<\/strong> It leads with how many pages are affected and\nwhat the change actually is. The page-by-page list \u2014 eleven rows for an\neleven-page change \u2014 now folds behind \"Show all 11 pages this affects\".\nNothing is hidden from you; it is one click away, and warnings are still\nshown in full and never folded.<\/li>\n<li><strong>The Ask box empties once a request has been applied<\/strong>, so the next one\nstarts clean. A draft you have typed but not submitted, or a plan you have\npreviewed or tested but not approved, is left exactly as you left it.<\/li>\n<li>Rewrote the plugin description around what errorHandle actually does for\nyou: Ask, Preview, Approve, Done, with real examples. It is about 40%\nshorter, and the technical detail about AI providers moved into the FAQ.<\/li>\n<li>New screenshots following one real change from request to result.<\/li>\n<li><strong>Correction:<\/strong> the previous description said errorHandle could change\nsite \"settings\". It cannot, and never could \u2014 there is no such operation.\nThe FAQ now lists exactly what it can change.<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<p>Ownership and licensing, stated plainly. No functional change.<\/p>\n\n<ul>\n<li>errorHandle is developed and operated by <strong>errorHandle LLC<\/strong>. The plugin\nheader, this readme, the website and the portal now say so consistently.<\/li>\n<li>Added the standard GPL copyright notice to the plugin file, which was\nmissing.<\/li>\n<li>A new \"Who makes this\" section separates the two things that carry the\nerrorHandle name: <strong>this plugin is GPLv2-or-later and always will be<\/strong>,\nand the optional hosted AI service is a separate proprietary service.\nNothing about the service limits your rights to the plugin.<\/li>\n<li>No \"all rights reserved\" notice appears on the plugin, and none will.\nUnder the GPL those rights are granted to you, not reserved.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Fixed a privacy label that could call a reused plan \"cached\" when it had\nbeen generated fresh, and vice versa.<\/li>\n<li>Clearer wording throughout the approval and simulation screens.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Simplified the whole interface for non-technical administrators.<\/li>\n<li>Fixed the Ask box not clearing after a request was submitted.<\/li>\n<li>Proper mobile layout for every screen.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>First public release on WordPress.org.<\/li>\n<li>Removed the ability to store or run CSS and JavaScript, along with several\nother changes requested in plugin review.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial private beta.<\/li>\n<\/ul>","raw_excerpt":"Make WordPress changes and automations by simply asking. Preview, test, approve. Site-wide search and replace, content and WooCommerce.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/381885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=381885"}],"author":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/errorhandle"}],"wp:attachment":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=381885"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=381885"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=381885"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=381885"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=381885"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=381885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}