PlugPress

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 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.

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.

Sign-in for ChatGPT card in Saddle settings with OAuth turned on and app registration enabled

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
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
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. 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.

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.