--- title: "Connect ChatGPT to WordPress" url: "https://plugpress.co/docs/connect-chatgpt-to-wordpress.md" canonical: "https://plugpress.co/docs/connect-chatgpt-to-wordpress/" published: "2026-07-28" modified: "2026-08-06" author: "Fahim" description: "Connect ChatGPT to your WordPress site with Saddle. Turn on the built-in sign-in, create a connector, and approve it on your own site. Step by step." tags: - "Saddle" --- # Connect ChatGPT to WordPress **The ChatGPT app is really two clients, and they connect to WordPress in completely different ways.** Since OpenAI merged Codex into the ChatGPT desktop app in July 2026, one app holds **Chat**, **Work** and **Codex**. Chat and Work connect through a custom connector and sign in with OAuth. Codex reads a settings file on your own computer and takes an ordinary sign-in key. Either way, everything runs inside your WordPress; no third-party server sits in between. ## Which part of the ChatGPT app am I connecting? Pick the row that matches where you want to use your site. Codex is the easier path, and the one to try if OAuth won’t finish. |   | Chat and Work | Codex | | --- | --- | --- | | **How it reaches your site** | A connector. OpenAI’s servers fetch your site. | A settings file on your own computer. | | **Sign-in** | OAuth — you approve it on your own site. | A pasted key, like Claude or Cursor. | | **Needs “Sign-in for ChatGPT” turned on** | Yes | **No** | | **Works on a local or private site** | No — needs public HTTPS | **Yes** | You can set up both. They are separate connections and each appears on its own in **Saddle → Connections**. ## What do I need before connecting? - A WordPress site with the [Saddle plugin](/docs/what-is-saddle/) installed and up to date. - For **Chat and Work**: the site must be on **HTTPS**, with pretty permalinks (**Settings → Permalinks**, anything other than Plain), and a ChatGPT plan that supports custom connectors (Plus, Pro, Business, Enterprise or Edu). You create the connector in ChatGPT **on the web**; once added it works in the desktop and mobile apps too. - For **Codex**: just the app (or the `codex` command — both read the same file). No HTTPS requirement, no plan requirement. ## Connecting Codex Codex accepts a normal sign-in key, so none of the OAuth machinery is involved — nothing to turn on, nothing to approve, and it works against a local site the connector path cannot see at all. ### Step 1: Get your setup block Go to **Saddle → Connections**, click **Connect an app**, and choose **Codex**. Saddle issues a key and shows a ready-made block with your address and key already filled in. ### Step 2: Paste it into Codex’s settings file Open `~/.codex/config.toml` — create it if it isn’t there — paste the block at the end, and save. It looks like this, with your own site and key in place: ``` [mcp_servers.saddle-your-site] url = "https://your-site.com/wp-json/saddle/v1/mcp" http_headers = { Authorization = "Basic YOUR-KEY" } startup_timeout_sec = 30 ``` Restart the ChatGPT app afterwards so Codex re-reads the file. The `startup_timeout_sec` line gives your site room to answer the first request; shared hosting is often slower than Codex’s default allows, and without it a slow site looks like a broken key. ### Step 3: Ask it something Open Codex in the ChatGPT app and ask: ``` What can you see on my WordPress site? ``` The connection then shows up in **Saddle → Connections**, where you can rotate its key or disconnect it at any time. ## Why do Chat and Work need OAuth instead of a key? Most AI apps let you paste a sign-in key into an HTTP header. ChatGPT’s connector screen has no field for one — it offers “no authentication”, an API key, or OAuth, and none of those carries the credential Saddle normally issues. So Saddle includes its own sign-in service, running entirely inside your WordPress install. It is **off by default**. Turn it on only if you want the connector; Codex and every other app work either way. The full story is in [OAuth Sign-In: How It Works](/docs/oauth-sign-in/). ## How do I connect the ChatGPT connector to my WordPress site? ### Step 1: Start the connect wizard Go to **Saddle → Connections**, click **Connect an app**, and choose **ChatGPT**. If sign-in is still off, the wizard says so before anything else — a card titled **“One switch first: sign-in for ChatGPT”** with a **Turn on sign-in** button. One click and you’re set; you’ll still approve ChatGPT on screen before it gets any access. If your site can’t offer sign-in yet, the card names what’s missing (HTTPS or pretty permalinks) instead of the button. You can also turn it on ahead of time under **Saddle → Settings → Sign-in for ChatGPT**. Leave **Let apps register themselves** on — ChatGPT needs it, and an app that registers still can’t do anything until you approve it. The card’s other switches are explained in [the OAuth guide](/docs/oauth-sign-in/). ![Sign-in for ChatGPT card in Saddle settings with OAuth turned on and app registration enabled](https://plugpress.co/wp-content/uploads/2026/07/saddle-settings-sign-in-for-chatgpt.png) ### Step 2: Copy your connector details The wizard shows exactly what to enter, filled in for your site. Unlike every other app in the wizard, there is no key in it — ChatGPT will sign in instead: ![Saddle setup step for ChatGPT showing the connector name, WordPress MCP server address, and OAuth authentication](https://plugpress.co/wp-content/uploads/2026/07/saddle-connect-chatgpt-setup.png) ``` Name: saddle-your-site Address: https://your-site.com/wp-json/saddle/v1/mcp Authentication: OAuth (leave client ID and secret blank) ``` ### Step 3: Create the connector in ChatGPT ChatGPT keeps custom connectors behind its **Developer mode** — a one-time switch: 1. In ChatGPT **on the web**, open **Settings → Apps & Connectors → Advanced settings** and turn on **Developer mode**. (On some accounts the switch lives under **Settings → Security and login**; on Business, Enterprise and Edu a workspace admin must allow custom connectors in the workspace settings first.) 2. Back in **Apps & Connectors**, use the create/add button — it only offers custom connectors once Developer mode is on. 3. Enter the name and address from Saddle. 4. Choose **OAuth**, and leave the client ID and secret blank — ChatGPT registers itself with your site. 5. Save the connector. Once created, it’s available in the desktop and mobile apps too. ### Step 4: Approve it on your own site ChatGPT sends you to your WordPress site to sign in and approve. Saddle’s consent screen shows what’s being asked for; approve it and you’re returned to ChatGPT. ![Saddle's OAuth consent screen in wp-admin asking to connect ChatGPT, listing exactly what the app will be able to do, with Allow and Deny buttons](https://plugpress.co/wp-content/uploads/2026/08/saddle-oauth-consent.png) *The consent screen, inside your own wp-admin: it names the app, lists what it will be able to do, and nothing is granted until you press Allow.* What you grant can only ever be *equal to or lower than* your site’s access level in [Permissions](/docs/permissions-access-levels/). A connector can never get more power than the site allows. ## How do I know it worked? If you left the wizard open, it notices by itself — the moment you approve the connection, “Listening for ChatGPT” flips to connected. Then enable the connector in a ChatGPT chat and ask: ``` What can you see on my WordPress site? ``` It should report your site name, WordPress version, and content counts. The connection also appears in **Saddle → Connections** under **Signed in themselves**, where you can watch its activity or disconnect it at any time. ## ChatGPT can’t find or connect to my site? - **There’s nowhere to add a custom connector.** ChatGPT hides custom connectors until **Developer mode** is on — see Step 3. On Business, Enterprise and Edu plans a workspace admin has to allow it first, and creation only works in ChatGPT on the web, not in the desktop app. - **ChatGPT says your site “does not implement OAuth”, or shows registration as unavailable.** Three usual causes. First, sign-in isn’t actually on — open the wizard’s ChatGPT step and look for the **Turn on sign-in** card, and make sure Saddle itself is up to date. Second, a page cache or CDN is still serving the “not found” pages from before you turned sign-in on — purge your site’s cache, then delete and recreate the connector. Third, and easily missed: **your site may simply be answering too slowly** — see the next point. - **“Discoverable: Too slow”.** ChatGPT waits only a few seconds for your site to hand over its sign-in details, and reports a site that misses that window as not supporting sign-in at all — even though the details are correct and in the right place. Saddle checks this for you: **Saddle → Settings → Sign-in for ChatGPT** shows **Discoverable: Too slow** when your site is answering too late. Turning on page caching usually fixes it; a site taking five or more seconds to load a page will struggle regardless of Saddle. **Codex is unaffected by this** — it never has to complete a discovery handshake, so it is the reliable way in on a slow host. - **The switch can’t be turned on.** Your site needs HTTPS and pretty permalinks first — the wizard and the Settings card both say which is missing. - **“Discoverable: Maybe not”.** Saddle publishes its sign-in details at several addresses, including ones that live under the connector address itself, so WordPress in a subfolder is fine. What can still break discovery is a host that blocks any address beginning with a dot (`/.well-known/`) — ask your host to allow those URLs. - **Codex says it can’t authorize.** Check the key was pasted whole — it’s a long string and easy to truncate — and that the line reads `http_headers = { Authorization = "Basic …" }`. If your site is slow to wake, raise `startup_timeout_sec`. - **It connected but sees nothing.** Check your access level and per-tool switches on the Permissions screen. More in [Troubleshooting and FAQ](/docs/troubleshooting/). ## FAQ ### Chat and Work won’t connect. Is there another way in? Yes — use **Codex**, in the same app. It takes a pasted key instead of signing in, so none of the things that block a connector apply to it: no sign-in service to turn on, no discovery to complete in time, and no need for the site to be publicly reachable. Follow “Connecting Codex” above. ### Is turning on OAuth a security risk? It publishes sign-in *details*, not access. No app can do anything until you approve it on the consent screen, and what you grant is capped by your site’s access level. Turn it off again whenever you like. ### Do I need ChatGPT’s Developer mode? For the connector, yes — ChatGPT only shows the custom-connector form with Developer mode on. It’s a one-time switch on your ChatGPT account (see Step 3); it changes nothing on your WordPress site. Codex doesn’t need it. ### Does this send anything to PlugPress or OpenAI beyond the chat? The sign-in service runs entirely on your site. There is no relay. ChatGPT sees only what you approve it to see. With Codex, the connection is made from your own computer directly to your site. ### The wizard stays on “Listening for ChatGPT” — when does it finish? The moment ChatGPT completes sign-in and you press Allow on the consent screen. If it never finishes, the most likely reason is that ChatGPT couldn’t complete registration — check the **Discoverable** line in Settings, and see the troubleshooting list above. Closing the wizard discards nothing you’d need: the connection appears on its own once you approve it in ChatGPT. ### Can I use OAuth with apps other than ChatGPT? Yes — any OAuth-capable MCP client can use the same flow. It exists for apps that can’t send a custom header. ### How do I revoke a connector? Click **Disconnect** next to it in **Saddle → Connections**, or turn the whole sign-in service off in Settings to cut off every OAuth app at once. A Codex connection is revoked the same way — disconnect it, and its key stops working immediately. ## Related guides - [OAuth sign-in: how it works and why it’s off by default](/docs/oauth-sign-in/) - [Getting started: connect your first AI app](/docs/getting-started/) - [Permissions and access levels](/docs/permissions-access-levels/) - [Connect any MCP app to WordPress](/docs/connect-mcp-app-to-wordpress/) - [Troubleshooting and FAQ](/docs/troubleshooting/)