{"id":317821,"date":"2026-06-15T17:21:18","date_gmt":"2026-06-15T17:21:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-chatgpt\/"},"modified":"2026-10-17T22:27:24","modified_gmt":"2026-10-17T22:27:24","slug":"ai-provider-for-chatgpt","status":"publish","type":"plugin","link":"https:\/\/de.wordpress.org\/plugins\/ai-provider-for-chatgpt\/","author":15678212,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.3","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"AI Provider for ChatGPT - ChatGPT Connector, No API Key Needed","header_author":"Abdalsalaam Halawa","header_description":"Registers OpenAI as a WordPress AI provider authenticated with a ChatGPT account (Free\/Plus\/Pro) instead of an API key. Usage is billed against the connected ChatGPT subscription.","assets_banners_color":"212b2b","last_updated":"2026-10-17 22:27:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Abdalsalaam\/ai-provider-for-chatgpt","header_author_uri":"https:\/\/halawa.io","rating":0,"author_block_rating":0,"active_installs":40,"downloads":1856,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.3":{"tag":"0.1.3","author":"abdalsalaam","date":"2026-06-15 17:20:45","revision":3573504},"0.1.4":{"tag":"0.1.4","author":"abdalsalaam","date":"2026-08-31 09:52:58","revision":3673824},"1.0.0":{"tag":"1.0.0","author":"abdalsalaam","date":"2026-10-17 22:12:46","revision":3752400},"1.0.1":{"tag":"1.0.1","author":"abdalsalaam","date":"2026-10-17 22:27:24","revision":3752405}},"upgrade_notice":{"1.0.1":"<p>Fixes a fatal error on WordPress 7 when updating from 0.1.x. Update now.<\/p>","1.0.0":"<p>Connects with Sign in with ChatGPT. Existing connections must sign in again, and a ChatGPT Plus, Pro or Go plan is required.<\/p>","0.1.4":"<p>Declares compatibility with WordPress 7.1.<\/p>","0.1.3":"<p>The plugin no longer reads the core connector option directly; configured state comes from the AI Client API.<\/p>","0.1.2":"<p>Unique <code>halawa_chatgpt_<\/code> prefixes, fuller external-service documentation, a clearer public pairing endpoint, and uninstall cleanup.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3752400,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3752400,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3752400,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.3","0.1.4","1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3752400,"resolution":"1","location":"assets","locale":"","width":1672,"height":941},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3752400,"resolution":"2","location":"assets","locale":"","width":1448,"height":2271}},"screenshots":{"1":"ChatGPT registers as a connector and appears in the WordPress AI connectors list, alongside the other providers.","2":"The ChatGPT settings screen: sign in with ChatGPT, paste the address you landed on, then check the connection and its models in diagnostics."}},"plugin_section":[],"plugin_tags":[2353,259757,216196,25308,194533],"plugin_category":[],"plugin_contributors":[217865],"plugin_business_model":[],"class_list":["post-317821","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-ai-provider","plugin_tags-chatgpt","plugin_tags-connector","plugin_tags-openai","plugin_contributors-abdalsalaam","plugin_committers-abdalsalaam"],"banners":{"banner":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/banner-772x250.png?rev=3752400","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/icon-128x128.png?rev=3752400","icon_2x":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/icon-256x256.png?rev=3752400","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/screenshot-1.png?rev=3752400","caption":"ChatGPT registers as a connector and appears in the WordPress AI connectors list, alongside the other providers."},{"src":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/screenshot-2.png?rev=3752400","caption":"The ChatGPT settings screen: sign in with ChatGPT, paste the address you landed on, then check the connection and its models in diagnostics."}],"raw_content":"<!--section=description-->\n<p>AI Provider for ChatGPT connects the AI features in WordPress to your own ChatGPT plan. You sign in with Sign in with ChatGPT, OpenAI's official sign-in for apps that use a ChatGPT plan, and AI requests from your site are billed to that ChatGPT Plus, Pro or Go plan. You do not need an OpenAI API key or a separate API account.<\/p>\n\n<p>Any plugin or theme that uses the WordPress AI Client can call ChatGPT models the same way it calls other providers.<\/p>\n\n<p>Connecting takes about a minute and the settings screen walks you through every step. Your ChatGPT account stays private: the plugin runs only on your website, and the plugin developer never receives your sign-in, your tokens or anything you send.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Text generation with the models your ChatGPT plan offers, listed from your account<\/li>\n<li>Multi-turn chat history<\/li>\n<li>Function calling and tool use<\/li>\n<li>Structured output via JSON schema<\/li>\n<li>Image input<\/li>\n<li>A guided settings screen: step-by-step instructions, Paste from clipboard, and a button to reopen the ChatGPT sign-in page<\/li>\n<li>Refresh, disconnect and switch to a different ChatGPT account from the settings screen, with connection diagnostics<\/li>\n<li>Clear messages when your ChatGPT session ends or your plan's usage limit is reached, with a link to manage usage in ChatGPT<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>PHP 7.4 or higher, with the <code>sodium<\/code> and <code>openssl<\/code> extensions<\/li>\n<li>A ChatGPT Plus, Pro or Go account. Free accounts are not eligible for plan usage.<\/li>\n<li>WordPress 7.0+ (AI Client is bundled in core), or WordPress 6.9 with the <a href=\"https:\/\/github.com\/WordPress\/php-ai-client\">WordPress\/php-ai-client<\/a> package installed<\/li>\n<\/ul>\n\n<p><strong>Privacy:<\/strong><\/p>\n\n<p>Prompts and content you send through the AI Client are sent to OpenAI for processing. Requests are sent with store set to false, so OpenAI does not keep them for later retrieval. OpenAI's privacy policy covers how your content is handled. Your tokens are stored encrypted in your site's database and are sent only to OpenAI. See the <strong>External services<\/strong> section for what is sent and when.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to services operated by OpenAI, L.L.C. so the WordPress AI Client can use your ChatGPT plan. Nothing is sent to OpenAI until an administrator starts a sign-in. The plugin contacts two OpenAI domains, <code>auth.openai.com<\/code> and <code>api.openai.com<\/code>, and no other third-party service.<\/p>\n\n<ul>\n<li><strong><code>https:\/\/auth.openai.com\/api\/accounts\/authorize<\/code><\/strong> is opened in the administrator's browser when they click <strong>Continue with ChatGPT<\/strong>. The address carries the client id, a stable id for this site, the requested permissions, a one-time state and nonce, and a PKCE challenge. On the first sign-in it also carries the agent name \"AI Provider for ChatGPT\" (not when the <code>CHATGPT_OAUTH_CLIENT_ID<\/code> constant is set). On a new sign-in for an existing connection it carries the connected account's email and ID token as hints.<\/li>\n<li><strong><code>POST https:\/\/auth.openai.com\/api\/accounts\/oauth\/token<\/code><\/strong> is called from your server when the administrator pastes the sign-in address (sends the client id, the one-time code, the PKCE verifier, the redirect address and the API resource), and when the access token is due for renewal, including a weekly scheduled refresh (sends the client id, the refresh token and the API resource). No prompt or user content is sent.<\/li>\n<li><strong><code>GET https:\/\/auth.openai.com\/.well-known\/jwks.json<\/code><\/strong> is called from your server to fetch OpenAI's public keys and verify the ID token at sign-in. Nothing about your site or account is sent. The keys are cached for 24 hours.<\/li>\n<li><strong><code>POST https:\/\/auth.openai.com\/api\/accounts\/oauth\/revoke<\/code><\/strong> is called when the administrator clicks <strong>Disconnect<\/strong> or <strong>Use a different ChatGPT account<\/strong>, and once when the plugin is deleted while still connected (sends the client id and the refresh token). On deletion the call is best effort: if it fails, the plugin's data is removed anyway.<\/li>\n<li><strong><code>GET https:\/\/api.openai.com\/v1\/models<\/code><\/strong> is called with the access token to list the models your plan offers, usually at most once an hour (the list is cached on your site and fetched again after a sign-in, a disconnect or Clear cached model list) and from the diagnostics probe. No prompt or user content is sent.<\/li>\n<li><strong><code>POST https:\/\/api.openai.com\/v1\/responses<\/code><\/strong> is called whenever a plugin or theme on your site uses the AI Client with a ChatGPT model. The request carries the access token and what the calling code supplies: the prompt and conversation, system instructions, tool definitions, JSON schema, and any attached images or files.<\/li>\n<\/ul>\n\n<p>These services are provided by OpenAI. By connecting an account and using this provider you agree to OpenAI's terms:<\/p>\n\n<ul>\n<li>Terms of Use: <a href=\"https:\/\/openai.com\/policies\/terms-of-use\/\">https:\/\/openai.com\/policies\/terms-of-use\/<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/openai.com\/policies\/privacy-policy\/\">https:\/\/openai.com\/policies\/privacy-policy\/<\/a><\/li>\n<li>Sign in with ChatGPT: <a href=\"https:\/\/developers.openai.com\/siwc\/token-sharing-open-source\">https:\/\/developers.openai.com\/siwc\/token-sharing-open-source<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/ai-provider-for-chatgpt\/<\/code>, or install through the WordPress plugin browser.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; ChatGPT<\/strong> and click <strong>Continue with ChatGPT<\/strong>. A ChatGPT sign-in page opens in a new tab.<\/li>\n<li>Sign in, keep the agent name, and approve <strong>Use your ChatGPT plan<\/strong>. The tab then shows an error such as \"This site can't be reached\" for 127.0.0.1. That is expected.<\/li>\n<li>Copy the full address from that tab's address bar (it starts with <code>http:\/\/127.0.0.1:1455\/auth\/callback<\/code>), paste it on the settings screen, or use <strong>Paste from clipboard<\/strong>, and click <strong>Connect<\/strong>.<\/li>\n<li>Any plugin or theme that uses the WordPress AI Client can now generate text with the ChatGPT models your plan offers.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20connect%3F\"><h3>How do I connect?<\/h3><\/dt>\n<dd><p><strong>Settings &gt; ChatGPT<\/strong> shows the steps under <strong>How connecting works<\/strong>:<\/p>\n\n<ol>\n<li>Click <strong>Continue with ChatGPT<\/strong>. A ChatGPT sign-in page opens in a new tab.<\/li>\n<li>Sign in, keep the agent name, and approve <strong>Use your ChatGPT plan<\/strong>.<\/li>\n<li>The tab then shows an error such as \"This site can't be reached\" for 127.0.0.1. That is expected: nothing is wrong.<\/li>\n<li>Copy the full address from that tab's address bar, come back to the settings tab, paste it and click <strong>Connect<\/strong>. <strong>Paste from clipboard<\/strong> pastes it for you; the address starts with <code>http:\/\/127.0.0.1:1455\/auth\/callback<\/code>.<\/li>\n<\/ol>\n\n<p>If no ChatGPT tab opened, click <strong>Open ChatGPT sign-in<\/strong> under \"Didn't see the ChatGPT tab?\". It reopens the same sign-in page and keeps the countdown.<\/p>\n\n<p>Each sign-in attempt is valid for 10 minutes. If it expires, click <strong>Start again<\/strong>.<\/p><\/dd>\n<dt id=\"why%20does%20the%20browser%20show%20a%20page%20that%20cannot%20load%3F\"><h3>Why does the browser show a page that cannot load?<\/h3><\/dt>\n<dd><p>After you approve, ChatGPT sends your browser to <code>http:\/\/127.0.0.1:1455\/auth\/callback<\/code>, an address on your own computer where nothing is listening, so the tab shows an error such as \"This site can't be reached\". That is expected: nothing is wrong. Copy the full address from that tab's address bar and paste it on the settings screen. The page address carries a one-time code; your site exchanges it for tokens when you paste it. The code is useless without the secret your site kept when you clicked <strong>Continue with ChatGPT<\/strong>.<\/p><\/dd>\n<dt id=\"which%20accounts%20are%20eligible%3F\"><h3>Which accounts are eligible?<\/h3><\/dt>\n<dd><p>ChatGPT Plus, Pro and Go accounts. OpenAI grants plan usage to other apps only on these plans. If your account does not grant plan usage, the plugin shows a message and saves nothing.<\/p><\/dd>\n<dt id=\"how%20do%20i%20connect%20a%20different%20chatgpt%20account%3F\"><h3>How do I connect a different ChatGPT account?<\/h3><\/dt>\n<dd><p>Disconnect keeps the site's registration with OpenAI, so the next sign-in reuses it and must use the same ChatGPT account. To switch accounts, click <strong>Use a different ChatGPT account<\/strong> on <strong>Settings &gt; ChatGPT<\/strong>. It revokes any stored tokens and deletes the site's copy of the registration (the issued client id and the account's id, email and name); the app stays listed under ChatGPT <strong>Settings &gt; Security and login &gt; Sign in with ChatGPT<\/strong>, where you can disconnect it. Then sign in with the other account.<\/p><\/dd>\n<dt id=\"where%20do%20i%20manage%20usage%3F\"><h3>Where do I manage usage?<\/h3><\/dt>\n<dd><p>Usage and per-app limits are at <a href=\"https:\/\/chatgpt.com\/settings\/usage\">https:\/\/chatgpt.com\/settings\/usage<\/a>. The settings screen links there with <strong>Manage usage in ChatGPT<\/strong>. To disconnect the plugin from your ChatGPT account, go to ChatGPT <strong>Settings &gt; Security and login &gt; Sign in with ChatGPT<\/strong> and select <strong>Disconnect<\/strong>.<\/p><\/dd>\n<dt id=\"i%20used%20version%200.1.x.%20what%20changes%3F\"><h3>I used version 0.1.x. What changes?<\/h3><\/dt>\n<dd><p>Version 1.0.0 connects with Sign in with ChatGPT and no longer uses the command line tool or <code>auth.json<\/code> files. Existing connections are removed on update; sign in again under <strong>Settings &gt; ChatGPT<\/strong>. Free accounts are no longer eligible.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20without%20the%20wordpress%20ai%20client%3F\"><h3>Does this plugin work without the WordPress AI Client?<\/h3><\/dt>\n<dd><p>No. The plugin registers ChatGPT with the AI Client provider registry, so the AI Client must be available, either bundled in WordPress 7.0+ or installed as a separate package on 6.9.<\/p><\/dd>\n<dt id=\"does%20it%20support%20image%20generation%3F\"><h3>Does it support image generation?<\/h3><\/dt>\n<dd><p>No. OpenAI does not allow image generation for apps that use a ChatGPT plan through Sign in with ChatGPT; it is only available with an OpenAI API key. If your site needs image generation, use the official AI Provider for OpenAI plugin with an API key next to this one. This plugin covers text generation, chat, tool use, structured output and image input (reading images you attach).<\/p><\/dd>\n<dt id=\"can%20the%20plugin%20developer%20see%20my%20chatgpt%20account%3F\"><h3>Can the plugin developer see my ChatGPT account?<\/h3><\/dt>\n<dd><p>No. This plugin runs only on your website. The plugin developer never receives your ChatGPT sign-in, your tokens or anything you send, and has no way to see or use your account. Your website keeps the connection encrypted in its own database and talks to OpenAI directly; the plugin contacts no other service (see <strong>External services<\/strong>). The connection cannot read your ChatGPT conversations or memories; it only lets your site use your plan for AI requests. OpenAI says so in <a href=\"https:\/\/help.openai.com\/en\/articles\/20001542-using-your-chatgpt-plan-in-other-apps-and-sites\">Using your ChatGPT plan in other apps and sites<\/a> (conversations and memories) and in the <a href=\"https:\/\/developers.openai.com\/siwc\/token-sharing-open-source\">Sign in with ChatGPT documentation<\/a> (conversations). You can disconnect at any time on <strong>Settings &gt; ChatGPT<\/strong>, or under ChatGPT <strong>Settings &gt; Security and login &gt; Sign in with ChatGPT<\/strong>.<\/p><\/dd>\n<dt id=\"how%20are%20tokens%20stored%3F\"><h3>How are tokens stored?<\/h3><\/dt>\n<dd><p>Tokens are stored in the WordPress options table on your own site, encrypted with <code>sodium_crypto_secretbox<\/code> using a key derived from your <code>wp-config.php<\/code> salts. They are sent only to OpenAI, to make requests and to refresh or revoke the connection.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed a fatal error on WordPress 7 (Psr\\SimpleCache\\CacheInterface not found) when updating from 0.1.x with a connected account, connecting or disconnecting.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Connect with Sign in with ChatGPT on a guided settings screen: no command line tool, no API key, billed to your ChatGPT Plus, Pro or Go plan.<\/li>\n<li>Existing connections must sign in again after updating, and Free ChatGPT accounts are no longer eligible.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>WordPress 7.1 compatibility.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Removed the direct reads of the core <code>connectors_ai_chatgpt_api_key<\/code> option from the connection and diagnostics REST endpoints. The connector's configured state is now read solely through the AI Client API (<code>isProviderConfigured()<\/code>); the option is still written so the WordPress AI plugin can detect the connector's credentials, but it is no longer read back by this plugin.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Prefixed all plugin-owned options, transients, and hooks with <code>halawa_chatgpt_<\/code> to avoid collisions in WordPress's shared namespaces.<\/li>\n<li>Documented every external service the plugin contacts and corrected the model-list endpoint URL in the readme.<\/li>\n<li>Made the public CLI-pairing REST route's intentionally-public design explicit (<code>__return_true<\/code>) while keeping its single-use-token security boundary and per-IP rate limiting.<\/li>\n<li>Added uninstall cleanup that removes the plugin's stored options and transients.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fixed a \"Missing the output key\" error from the Codex <code>\/responses<\/code> stream.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>ChatGPT text generation models with dynamic model discovery.<\/li>\n<li>Function calling and structured (JSON schema) output.<\/li>\n<li>Encrypted token storage with automatic refresh.<\/li>\n<li>Default-model selection under Settings &gt; ChatGPT.<\/li>\n<\/ul>","raw_excerpt":"Connect your ChatGPT Plus, Pro or Go plan to WordPress AI features with Sign in with ChatGPT. No OpenAI API key needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=317821"}],"author":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/abdalsalaam"}],"wp:attachment":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317821"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317821"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317821"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317821"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317821"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}