From bdc742da4baa0129c24694b4fd515591e5001d1d Mon Sep 17 00:00:00 2001 From: Sannidhya Date: Thu, 15 Jan 2026 23:43:32 +0530 Subject: [PATCH 1/4] Add OpenAI ChatGPT Plus/Pro provider documentation --- docs/providers/index.json | 6 +++ docs/providers/openai-chatgpt-plus-pro.md | 47 +++++++++++++++++++ static/img/openai-chatgpt-plus-pro/setup.png | Bin 0 -> 29784 bytes 3 files changed, 53 insertions(+) create mode 100644 docs/providers/openai-chatgpt-plus-pro.md create mode 100644 static/img/openai-chatgpt-plus-pro/setup.png diff --git a/docs/providers/index.json b/docs/providers/index.json index 0dd9933a..fafcae9c 100644 --- a/docs/providers/index.json +++ b/docs/providers/index.json @@ -126,6 +126,12 @@ "extension": true, "cloud": true }, + { + "id": "providers/openai-chatgpt-plus-pro", + "title": "OpenAI ChatGPT Plus/Pro", + "extension": true, + "cloud": true + }, { "id": "providers/openai-compatible", "title": "OpenAI Compatible", diff --git a/docs/providers/openai-chatgpt-plus-pro.md b/docs/providers/openai-chatgpt-plus-pro.md new file mode 100644 index 00000000..acb6331d --- /dev/null +++ b/docs/providers/openai-chatgpt-plus-pro.md @@ -0,0 +1,47 @@ +--- +sidebar_label: OpenAI ChatGPT Plus/Pro +description: Connect your OpenAI ChatGPT Plus or Pro subscription directly to Roo Code through OAuth authentication. No API keys needed. +keywords: + - openai + - chatgpt plus + - chatgpt pro + - oauth + - roo code + - subscription + - no api key + - browser authentication +--- + +# OpenAI ChatGPT Plus/Pro Provider + +This provider connects Roo Code to OpenAI's models through your ChatGPT Plus or Pro subscription. Authentication uses OAuth, so no API keys are required. Usage counts against your subscription instead of separate API billing. + +--- + +## Setup + +1. Create a new API configuration profile in Roo Code settings. +2. Choose "OpenAI - ChatGPT Plus/Pro" from the provider dropdown. +3. Click "Sign In" to open your browser for authentication. +4. Sign in to your OpenAI account when prompted. + +OpenAI ChatGPT Plus/Pro provider selection in Roo Code settings + +Once authenticated, you're connected. The OAuth token refreshes automatically, so you won't need to sign in again unless you explicitly sign out. + +--- + +## Available Models + +Model availability depends on your ChatGPT Plus or Pro subscription tier. The provider uses the models available to your account through the ChatGPT web interface. + +For current model access based on subscription type, see [OpenAI's ChatGPT plans](https://openai.com/chatgpt/pricing). + +--- + +## Tips and Notes + +* **Subscription Required:** You need an active ChatGPT Plus or Pro subscription. This provider won't work with free ChatGPT accounts. +* **No API Costs:** Usage through this provider counts against your ChatGPT subscription, not separately billed API usage. +* **Sign Out:** To disconnect, use the "Sign Out" button in the provider settings. +* **Alternative:** If you prefer direct API access with pay-per-use billing, see the [OpenAI provider](/providers/openai) instead. diff --git a/static/img/openai-chatgpt-plus-pro/setup.png b/static/img/openai-chatgpt-plus-pro/setup.png new file mode 100644 index 0000000000000000000000000000000000000000..6307240114d089c920fc6fb673085eab3cc69947 GIT binary patch literal 29784 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 Date: Fri, 16 Jan 2026 00:02:13 +0530 Subject: [PATCH 2/4] Add YouTube tutorial video to OpenAI ChatGPT Plus/Pro provider docs --- docs/providers/openai-chatgpt-plus-pro.mdx | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 docs/providers/openai-chatgpt-plus-pro.mdx diff --git a/docs/providers/openai-chatgpt-plus-pro.mdx b/docs/providers/openai-chatgpt-plus-pro.mdx new file mode 100644 index 00000000..05a91083 --- /dev/null +++ b/docs/providers/openai-chatgpt-plus-pro.mdx @@ -0,0 +1,58 @@ +--- +sidebar_label: OpenAI ChatGPT Plus/Pro +description: Connect your OpenAI ChatGPT Plus or Pro subscription directly to Roo Code through OAuth authentication. No API keys needed. +keywords: + - openai + - chatgpt plus + - chatgpt pro + - oauth + - roo code + - subscription + - no api key + - browser authentication +--- + +# OpenAI ChatGPT Plus/Pro Provider + +This provider connects Roo Code to OpenAI's models through your ChatGPT Plus or Pro subscription. Authentication uses OAuth, so no API keys are required. Usage counts against your subscription instead of separate API billing. + +
+ +
+ +--- + +## Setup + +1. Create a new API configuration profile in Roo Code settings. +2. Choose "OpenAI - ChatGPT Plus/Pro" from the provider dropdown. +3. Click "Sign In" to open your browser for authentication. +4. Sign in to your OpenAI account when prompted. + +OpenAI ChatGPT Plus/Pro provider selection in Roo Code settings + +Once authenticated, you're connected. The OAuth token refreshes automatically, so you won't need to sign in again unless you explicitly sign out. + +--- + +## Available Models + +Model availability depends on your ChatGPT Plus or Pro subscription tier. The provider uses the models available to your account through the ChatGPT web interface. + +For current model access based on subscription type, see [OpenAI's ChatGPT plans](https://openai.com/chatgpt/pricing). + +--- + +## Tips and Notes + +* **Subscription Required:** You need an active ChatGPT Plus or Pro subscription. This provider won't work with free ChatGPT accounts. +* **No API Costs:** Usage through this provider counts against your ChatGPT subscription, not separately billed API usage. +* **Sign Out:** To disconnect, use the "Sign Out" button in the provider settings. +* **Alternative:** If you prefer direct API access with pay-per-use billing, see the [OpenAI provider](/providers/openai) instead. From f052fc57a15a65bdffa2ac120daf2968831513be Mon Sep 17 00:00:00 2001 From: Sannidhya Date: Fri, 16 Jan 2026 00:08:40 +0530 Subject: [PATCH 3/4] Fix YouTube Short embed with width constraint wrapper --- docs/providers/openai-chatgpt-plus-pro.mdx | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/providers/openai-chatgpt-plus-pro.mdx b/docs/providers/openai-chatgpt-plus-pro.mdx index 05a91083..7a1acf88 100644 --- a/docs/providers/openai-chatgpt-plus-pro.mdx +++ b/docs/providers/openai-chatgpt-plus-pro.mdx @@ -16,15 +16,17 @@ keywords: This provider connects Roo Code to OpenAI's models through your ChatGPT Plus or Pro subscription. Authentication uses OAuth, so no API keys are required. Usage counts against your subscription instead of separate API billing. -
- +
+
+ +
--- From d288fb0b63cba422371e8621d352f779f62efde8 Mon Sep 17 00:00:00 2001 From: Sannidhya Date: Fri, 16 Jan 2026 00:23:44 +0530 Subject: [PATCH 4/4] Remove .md version after converting to .mdx --- docs/providers/openai-chatgpt-plus-pro.md | 47 ----------------------- 1 file changed, 47 deletions(-) delete mode 100644 docs/providers/openai-chatgpt-plus-pro.md diff --git a/docs/providers/openai-chatgpt-plus-pro.md b/docs/providers/openai-chatgpt-plus-pro.md deleted file mode 100644 index acb6331d..00000000 --- a/docs/providers/openai-chatgpt-plus-pro.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -sidebar_label: OpenAI ChatGPT Plus/Pro -description: Connect your OpenAI ChatGPT Plus or Pro subscription directly to Roo Code through OAuth authentication. No API keys needed. -keywords: - - openai - - chatgpt plus - - chatgpt pro - - oauth - - roo code - - subscription - - no api key - - browser authentication ---- - -# OpenAI ChatGPT Plus/Pro Provider - -This provider connects Roo Code to OpenAI's models through your ChatGPT Plus or Pro subscription. Authentication uses OAuth, so no API keys are required. Usage counts against your subscription instead of separate API billing. - ---- - -## Setup - -1. Create a new API configuration profile in Roo Code settings. -2. Choose "OpenAI - ChatGPT Plus/Pro" from the provider dropdown. -3. Click "Sign In" to open your browser for authentication. -4. Sign in to your OpenAI account when prompted. - -OpenAI ChatGPT Plus/Pro provider selection in Roo Code settings - -Once authenticated, you're connected. The OAuth token refreshes automatically, so you won't need to sign in again unless you explicitly sign out. - ---- - -## Available Models - -Model availability depends on your ChatGPT Plus or Pro subscription tier. The provider uses the models available to your account through the ChatGPT web interface. - -For current model access based on subscription type, see [OpenAI's ChatGPT plans](https://openai.com/chatgpt/pricing). - ---- - -## Tips and Notes - -* **Subscription Required:** You need an active ChatGPT Plus or Pro subscription. This provider won't work with free ChatGPT accounts. -* **No API Costs:** Usage through this provider counts against your ChatGPT subscription, not separately billed API usage. -* **Sign Out:** To disconnect, use the "Sign Out" button in the provider settings. -* **Alternative:** If you prefer direct API access with pay-per-use billing, see the [OpenAI provider](/providers/openai) instead.