[{"data":1,"prerenderedAt":669},["ShallowReactive",2],{"navigation_docs":3,"-troubleshooting-hosting-firewalls":306,"-troubleshooting-hosting-firewalls-surround":664},[4,41,165,201,250,273,297],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":40},"Start here","i-lucide-rocket","\u002Fget-started","1.get-started",[10,15,20,25,30,35],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fget-started\u002Fintroduction","1.get-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fget-started\u002Fquickstart","1.get-started\u002F2.quickstart","i-lucide-arrow-right",{"title":21,"path":22,"stem":23,"icon":24},"Requirements","\u002Fget-started\u002Frequirements","1.get-started\u002F3.requirements","i-lucide-check-circle",{"title":26,"path":27,"stem":28,"icon":29},"Install the plugin","\u002Fget-started\u002Finstall-plugin","1.get-started\u002F4.install-plugin","i-lucide-download",{"title":31,"path":32,"stem":33,"icon":34},"Connect a website","\u002Fget-started\u002Fconnect-website","1.get-started\u002F5.connect-website","i-lucide-link",{"title":36,"path":37,"stem":38,"icon":39},"Connect an Agent","\u002Fget-started\u002Fconnect-agent","1.get-started\u002F6.connect-agent","i-lucide-plug",false,{"title":36,"icon":39,"path":42,"stem":43,"children":44,"page":40},"\u002Fagents","2.agents",[45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160],{"title":46,"path":47,"stem":48,"icon":49},"ChatGPT","\u002Fagents\u002Fchatgpt","2.agents\u002F01.chatgpt","MorawpAgentChatgpt",{"title":51,"path":52,"stem":53,"icon":54},"Claude","\u002Fagents\u002Fclaude","2.agents\u002F02.claude","MorawpAgentClaude",{"title":56,"path":57,"stem":58,"icon":59},"Codex","\u002Fagents\u002Fcodex","2.agents\u002F03.codex","MorawpAgentCodex",{"title":61,"path":62,"stem":63,"icon":64},"Claude Code","\u002Fagents\u002Fclaude-code","2.agents\u002F04.claude-code","MorawpAgentClaudeCode",{"title":66,"path":67,"stem":68,"icon":69},"Cursor","\u002Fagents\u002Fcursor","2.agents\u002F05.cursor","MorawpAgentCursor",{"title":71,"path":72,"stem":73,"icon":74},"Grok","\u002Fagents\u002Fgrok","2.agents\u002F06.grok","MorawpAgentGrok",{"title":76,"path":77,"stem":78,"icon":79},"Perplexity","\u002Fagents\u002Fperplexity","2.agents\u002F07.perplexity","MorawpAgentPerplexity",{"title":81,"path":82,"stem":83,"icon":84},"Windsurf","\u002Fagents\u002Fwindsurf","2.agents\u002F08.windsurf","MorawpAgentWindsurf",{"title":86,"path":87,"stem":88,"icon":89},"Cline","\u002Fagents\u002Fcline","2.agents\u002F09.cline","MorawpAgentCline",{"title":91,"path":92,"stem":93,"icon":94},"Google Antigravity","\u002Fagents\u002Fantigravity","2.agents\u002F10.antigravity","MorawpAgentAntigravity",{"title":96,"path":97,"stem":98,"icon":99},"OpenCode","\u002Fagents\u002Fopencode","2.agents\u002F11.opencode","MorawpAgentOpencode",{"title":101,"path":102,"stem":103,"icon":104},"Zed","\u002Fagents\u002Fzed","2.agents\u002F12.zed","MorawpAgentZed",{"title":106,"path":107,"stem":108,"icon":109},"Warp","\u002Fagents\u002Fwarp","2.agents\u002F13.warp","MorawpAgentWarp",{"title":111,"path":112,"stem":113,"icon":114},"Kiro","\u002Fagents\u002Fkiro","2.agents\u002F14.kiro","MorawpAgentKiro",{"title":116,"path":117,"stem":118,"icon":119},"Continue","\u002Fagents\u002Fcontinue","2.agents\u002F15.continue","MorawpAgentContinue",{"title":121,"path":122,"stem":123,"icon":124},"JetBrains Junie","\u002Fagents\u002Fjunie","2.agents\u002F16.junie","MorawpAgentJunie",{"title":126,"path":127,"stem":128,"icon":129},"Goose","\u002Fagents\u002Fgoose","2.agents\u002F17.goose","MorawpAgentGoose",{"title":131,"path":132,"stem":133,"icon":134},"Qwen Code","\u002Fagents\u002Fqwen","2.agents\u002F18.qwen","MorawpAgentQwen",{"title":136,"path":137,"stem":138,"icon":139},"Kimi Code","\u002Fagents\u002Fkimi","2.agents\u002F19.kimi","MorawpAgentKimi",{"title":141,"path":142,"stem":143,"icon":144},"Grok Build","\u002Fagents\u002Fgrok-build","2.agents\u002F20.grok-build","MorawpAgentGrokBuild",{"title":146,"path":147,"stem":148,"icon":149},"Trae","\u002Fagents\u002Ftrae","2.agents\u002F21.trae","MorawpAgentTrae",{"title":151,"path":152,"stem":153,"icon":154},"GitHub Copilot","\u002Fagents\u002Fgithub-copilot","2.agents\u002F22.github-copilot","MorawpAgentGithubCopilot",{"title":156,"path":157,"stem":158,"icon":159},"Roo Code","\u002Fagents\u002Froo-code","2.agents\u002F23.roo-code","MorawpAgentRooCode",{"title":161,"path":162,"stem":163,"icon":164},"Other AI apps","\u002Fagents\u002Fother-apps","2.agents\u002F24.other-apps","MorawpAgentCustomOauth",{"title":166,"icon":167,"path":168,"stem":169,"children":170,"page":40},"Use MoraWP","i-lucide-book-open","\u002Fguides","3.guides",[171,176,181,186,191,196],{"title":172,"path":173,"stem":174,"icon":175},"Websites","\u002Fguides\u002Fwebsites","3.guides\u002F1.websites","i-lucide-cloud",{"title":177,"path":178,"stem":179,"icon":180},"Agents","\u002Fguides\u002Fagents","3.guides\u002F2.agents","i-lucide-sparkles",{"title":182,"path":183,"stem":184,"icon":185},"Abilities","\u002Fguides\u002Fabilities","3.guides\u002F3.abilities","i-lucide-wrench",{"title":187,"path":188,"stem":189,"icon":190},"Activity","\u002Fguides\u002Factivity","3.guides\u002F4.activity","i-lucide-history",{"title":192,"path":193,"stem":194,"icon":195},"Access modes","\u002Fguides\u002Faccess-modes","3.guides\u002F5.access-modes","i-lucide-shield",{"title":197,"path":198,"stem":199,"icon":200},"High-impact Abilities","\u002Fguides\u002Fhigh-impact","3.guides\u002F6.high-impact","i-lucide-alert-triangle",{"title":202,"icon":203,"path":204,"stem":205,"children":206,"page":40},"Troubleshooting","i-lucide-life-buoy","\u002Ftroubleshooting","4.troubleshooting",[207,212,216,220,225,229,233,238,242,246],{"title":208,"path":209,"stem":210,"icon":211},"WordPress tool failed","\u002Ftroubleshooting\u002Fwordpress-tool-failed","4.troubleshooting\u002F1.wordpress-tool-failed","i-lucide-alert-circle",{"title":213,"path":214,"stem":215,"icon":195},"Hosting and firewalls","\u002Ftroubleshooting\u002Fhosting-firewalls","4.troubleshooting\u002F10.hosting-firewalls",{"title":217,"path":218,"stem":219,"icon":39},"Agent connection","\u002Ftroubleshooting\u002Fagent-connection","4.troubleshooting\u002F2.agent-connection",{"title":221,"path":222,"stem":223,"icon":224},"Missing Abilities","\u002Ftroubleshooting\u002Fmissing-abilities","4.troubleshooting\u002F3.missing-abilities","i-lucide-search",{"title":226,"path":227,"stem":228,"icon":195},"Access denied","\u002Ftroubleshooting\u002Faccess-denied","4.troubleshooting\u002F4.access-denied",{"title":230,"path":231,"stem":232,"icon":34},"Website connection problems","\u002Ftroubleshooting\u002Fwebsite-connection","4.troubleshooting\u002F5.website-connection",{"title":234,"path":235,"stem":236,"icon":237},"Usage-limit problems","\u002Ftroubleshooting\u002Fusage-limits","4.troubleshooting\u002F6.usage-limits","i-lucide-activity",{"title":239,"path":240,"stem":241,"icon":211},"Unknown execution outcome","\u002Ftroubleshooting\u002Funknown-outcome","4.troubleshooting\u002F7.unknown-outcome",{"title":243,"path":244,"stem":245,"icon":203},"Get help","\u002Ftroubleshooting\u002Fget-help","4.troubleshooting\u002F8.get-help",{"title":247,"path":248,"stem":249,"icon":211},"Billing problems","\u002Ftroubleshooting\u002Fbilling-problems","4.troubleshooting\u002F9.billing-problems",{"title":251,"icon":252,"path":253,"stem":254,"children":255,"page":40},"Workspace & usage","i-lucide-layers","\u002Fworkspace","5.workspace",[256,260,264,269],{"title":257,"path":258,"stem":259,"icon":252},"Workspaces","\u002Fworkspace\u002Foverview","5.workspace\u002F1.overview",{"title":261,"path":262,"stem":263,"icon":237},"AI Actions and limits","\u002Fworkspace\u002Fai-actions","5.workspace\u002F2.ai-actions",{"title":265,"path":266,"stem":267,"icon":268},"Paused Workspaces","\u002Fworkspace\u002Fpaused-workspaces","5.workspace\u002F3.paused-workspaces","i-lucide-circle-pause",{"title":270,"path":271,"stem":272,"icon":252},"Plans and billing","\u002Fworkspace\u002Fplans-and-billing","5.workspace\u002F4.plans-and-billing",{"title":274,"icon":167,"path":275,"stem":276,"children":277,"page":40},"Reference","\u002Freference","6.reference",[278,283,288,292],{"title":279,"path":280,"stem":281,"icon":282},"Agent workflow","\u002Freference\u002Fagent-workflow","6.reference\u002F1.agent-workflow","i-lucide-workflow",{"title":284,"path":285,"stem":286,"icon":287},"Inputs and outputs","\u002Freference\u002Finput-output","6.reference\u002F2.input-output","i-lucide-code",{"title":289,"path":290,"stem":291,"icon":211},"Error reference","\u002Freference\u002Ferrors","6.reference\u002F3.errors",{"title":293,"path":294,"stem":295,"icon":296},"Read a post or page","\u002Freference\u002Fread-post","6.reference\u002F4.read-post","i-lucide-file-text",{"title":298,"icon":282,"path":299,"stem":300,"children":301,"page":40},"Workflows","\u002Fworkflows","7.workflows",[302],{"title":303,"path":304,"stem":305,"icon":296},"Read an existing page","\u002Fworkflows\u002Finspect-content","7.workflows\u002F1.inspect-content",{"id":307,"title":213,"body":308,"description":657,"extension":658,"links":659,"meta":660,"navigation":661,"path":214,"seo":662,"stem":215,"__hash__":663},"docs\u002F4.troubleshooting\u002F10.hosting-firewalls.md",{"type":309,"value":310,"toc":645},"minimark",[311,315,320,343,357,361,364,410,414,419,448,466,470,475,480,484,489,494,498,503,521,535,539,544,556,560,577,582,585,601,604,613,620,624,629,641],[312,313,314],"p",{},"If MoraWP reports a blocked request, use the named layer below to find the fix.\nA blocked request never uses an AI Action. Most layers refuse the request before\nWordPress runs anything. A few, such as ModSecurity and Imunify360, can replace\nWordPress's answer after the action ran, so your Agent is told to check the\nresult before trying again.",[316,317,319],"h2",{"id":318},"confirm-the-block","Confirm the block",[312,321,322,326,327,330,331,334,335,338,339,342],{},[323,324,325],"strong",{},"What you see:"," the website's status in the Dashboard says ",[323,328,329],{},"Blocked by","\nthe layer, such as ",[323,332,333],{},"Blocked by Cloudflare",", and your Agent's error names it\ntoo. MoraWP recognizes Cloudflare, SiteGround, Sucuri, Imunify360, Wordfence,\nModSecurity, and Hostinger. A ModSecurity refusal shows ",[323,336,337],{},"Blocked by your\nhost",", and any other refusal shows ",[323,340,341],{},"Blocked by a firewall",". The status\nclears on its own once MoraWP reaches WordPress again.",[312,344,345,348,349,352,353,356],{},[323,346,347],{},"What to do:"," use ",[323,350,351],{},"Check now"," in the Dashboard to refresh the website's\nstatus. In WordPress, open the MoraWP Plugin's ",[323,354,355],{},"Troubleshoot connection"," to\ncheck the Authorization header, REST API restrictions, and recognized hosting\nprotection, then follow its next step.",[316,358,360],{"id":359},"what-to-allow","What to allow",[312,362,363],{},"Give this table to your host or firewall administrator. Allow requests that\nmatch both the User-Agent and the plugin routes; keep the exception scoped to\nthose routes. Every request to them still needs MoraWP's Application Password\nand signature, so the exception does not open your website to anyone else.",[365,366,367,380],"table",{},[368,369,370],"thead",{},[371,372,373,377],"tr",{},[374,375,376],"th",{},"Request detail",[374,378,379],{},"Value",[381,382,383,395],"tbody",{},[371,384,385,389],{},[386,387,388],"td",{},"User-Agent",[386,390,391],{},[392,393,394],"code",{},"MoraWP\u002F1.0 (+https:\u002F\u002Fdocs.morawp.com\u002Ftroubleshooting\u002Fhosting-firewalls)",[371,396,397,400],{},[386,398,399],{},"Plugin routes",[386,401,402,405,406,409],{},[392,403,404],{},"\u002Fwp-json\u002Fmorawp\u002Fv1"," and everything under it, or ",[392,407,408],{},"\u002Findex.php?rest_route=\u002Fmorawp\u002Fv1"," and everything under it on websites without pretty permalinks",[316,411,413],{"id":412},"cloudflare","Cloudflare",[312,415,416,418],{},[323,417,325],{}," a Cloudflare block or browser challenge prevents MoraWP from\nreaching WordPress.",[312,420,421,423,424,427,428,431,432,435,436,439,440,443,444,447],{},[323,422,347],{}," check ",[323,425,426],{},"Security Events"," for the time of the failure; in the\ncurrent navigation, open ",[323,429,430],{},"Analytics"," → ",[323,433,434],{},"Events",". Check whether\n",[323,437,438],{},"Block AI bots",", ",[323,441,442],{},"Bot Fight Mode",", or ",[323,445,446],{},"Super Bot Fight Mode"," caused it.",[449,450,451,455],"ul",{},[452,453,454],"li",{},"On the Free plan, WAF custom rules cannot skip Bot Fight Mode. Turn off Bot\nFight Mode if it blocks MoraWP.",[452,456,457,458,461,462,465],{},"On paid plans with Super Bot Fight Mode, create a WAF custom rule matching\nboth MoraWP's User-Agent and the plugin routes, with action ",[323,459,460],{},"Skip"," for the\nprotection identified in the event. Include the ",[392,463,464],{},"rest_route"," query form if\nyour website uses it.",[316,467,469],{"id":468},"siteground-anti-bot","SiteGround anti-bot",[312,471,472,474],{},[323,473,325],{}," SiteGround returns a CAPTCHA instead of a WordPress response.",[312,476,477,479],{},[323,478,347],{}," ask SiteGround support to let MoraWP's requests through its\nanti-bot protection for your website. Send the table above and the failure time.",[316,481,483],{"id":482},"hostinger-cdn-sucuri-imunify360-or-modsecurity","Hostinger CDN, Sucuri, Imunify360, or ModSecurity",[312,485,486,488],{},[323,487,325],{}," MoraWP names one of these layers, or the host's logs show a\nfirewall rule blocking the request. Imunify360 and ModSecurity may protect\nwebsites managed through cPanel, Plesk, or DirectAdmin.",[312,490,491,493],{},[323,492,347],{}," allow MoraWP's User-Agent on the plugin routes in the relevant protection, or\nask your host to find the blocked request in its logs and exempt the specific\nrule ID for MoraWP's traffic. Keep the rest of the firewall enabled.",[316,495,497],{"id":496},"wordfence","Wordfence",[312,499,500,502],{},[323,501,325],{}," Wordfence blocks a request to a MoraWP Plugin route.",[312,504,505,507,508,431,510,431,513,516,517,520],{},[323,506,347],{}," open ",[323,509,497],{},[323,511,512],{},"Tools",[323,514,515],{},"Live Traffic",", find the\nblocked request by its time and MoraWP's User-Agent, and inspect its rule and parameter. For a\nconfirmed false positive, use ",[323,518,519],{},"Add param to firewall allowlist"," for only\nthat blocked parameter on that URL.",[312,522,523,524,526,527,530,531,534],{},"Without pretty permalinks, the blocked parameter may be ",[392,525,464],{}," in\n",[392,528,529],{},"\u002Findex.php?rest_route=\u002Fmorawp\u002Fv1\u002F…",". Enabling pretty permalinks avoids this query-parameter\ncase by using ",[392,532,533],{},"\u002Fwp-json\u002Fmorawp\u002Fv1\u002F…"," instead.",[316,536,538],{"id":537},"security-plugins-restricting-the-rest-api","Security plugins restricting the REST API",[312,540,541,543],{},[323,542,325],{}," REST API access is denied by Disable REST API, Solid Security,\nAll In One WP Security, Perfmatters, WP Cerber, Clearfy, or WP Hide.",[312,545,546,548,549,552,553,555],{},[323,547,347],{}," allow authenticated requests to ",[392,550,551],{},"\u002Fwp-json\u002Fmorawp\u002Fv1\u002F"," and its\nroutes, including the equivalent ",[392,554,464],{}," form where used. MoraWP\nauthenticates with an Application Password; a logged-in-only restriction is\nfine when it recognizes that authentication instead of requiring a browser\nlogin cookie.",[316,557,559],{"id":558},"authorization-header-removed","Authorization header removed",[312,561,562,564,565,568,569,572,573,576],{},[323,563,325],{}," the website shows ",[323,566,567],{},"Blocked by your host",", or the error\nmentions ",[392,570,571],{},"morawp_runtime_authorization_missing",". Some GoDaddy proxy\nconfigurations and Apache CGI\u002FFastCGI\u002FPHP-FPM setups remove the\n",[392,574,575],{},"Authorization"," header before it reaches PHP, so WordPress never sees\nMoraWP's Application Password.",[312,578,579,581],{},[323,580,347],{}," update the MoraWP Plugin. Current versions recover on their\nown: MoraWP resends the same credential in its own header, only to the MoraWP\nPlugin's signed routes. Nothing runs twice, because WordPress refuses the\nfirst attempt before any Ability starts.",[312,583,584],{},"If you can't update, ask your host to pass the standard header to PHP using one of\nthese Apache settings. The first requires Apache 2.4.13 or later:",[586,587,592],"pre",{"className":588,"code":589,"language":590,"meta":591,"style":591},"language-apache shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","CGIPassAuth On\n","apache","",[392,593,594],{"__ignoreMap":591},[595,596,599],"span",{"class":597,"line":598},"line",1,[595,600,589],{},[312,602,603],{},"Or:",[586,605,607],{"className":588,"code":606,"language":590,"meta":591,"style":591},"SetEnvIf Authorization \"(.*)\" HTTP_AUTHORIZATION=$1\n",[392,608,609],{"__ignoreMap":591},[595,610,611],{"class":597,"line":598},[595,612,606],{},[312,614,615,616,619],{},"Ask your host which setting belongs in ",[392,617,618],{},".htaccess"," or server configuration if\nyou are unsure.",[316,621,623],{"id":622},"still-blocked","Still blocked",[312,625,626,628],{},[323,627,325],{}," the same block remains after the relevant exception.",[312,630,631,348,633,635,636,640],{},[323,632,347],{},[323,634,351],{}," again, then ",[637,638,639],"a",{"href":244},"get help","\nwith the blocked layer, HTTP status, time and timezone, and rule ID if available.\nRemove credentials and authorization headers from anything you share.",[642,643,644],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":591,"searchDepth":646,"depth":646,"links":647},2,[648,649,650,651,652,653,654,655,656],{"id":318,"depth":646,"text":319},{"id":359,"depth":646,"text":360},{"id":412,"depth":646,"text":413},{"id":468,"depth":646,"text":469},{"id":482,"depth":646,"text":483},{"id":496,"depth":646,"text":497},{"id":537,"depth":646,"text":538},{"id":558,"depth":646,"text":559},{"id":622,"depth":646,"text":623},"Allow MoraWP through hosting protection, CDNs, firewalls, and security plugins.","md",null,{},{"icon":195},{"title":213,"description":657},"BC5jPIjW4JXpbZwNgK06Uu6gCfBnotAR7gcG5Awz8FY",[665,667],{"title":208,"path":209,"stem":210,"description":666,"icon":211,"children":-1},"Find the cause of WORDPRESS_MORAWP_TOOL_FAILED and decide what to do before retrying.",{"title":217,"path":218,"stem":219,"description":668,"icon":39,"children":-1},"Find why sign-in did not complete or an AI app cannot reach its approved Workspace.",1792686572829]