diff --git a/docs/my-website/docs/providers/chatgpt.md b/docs/my-website/docs/providers/chatgpt.md
index 222881953dc..2a55a291270 100644
--- a/docs/my-website/docs/providers/chatgpt.md
+++ b/docs/my-website/docs/providers/chatgpt.md
@@ -1,3 +1,6 @@
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
# ChatGPT Subscription
Use ChatGPT Pro/Max subscription models through LiteLLM with OAuth device flow authentication.
@@ -17,14 +20,27 @@ Notes:
## Authentication
-ChatGPT subscription access uses an OAuth device code flow:
+ChatGPT subscription access uses an OAuth Device Code flow. LiteLLM supports two authentication modes:
-1. LiteLLM prints a device code and verification URL
-2. Open the URL, sign in, and enter the code
-3. Tokens are stored locally for reuse
+- **LiteLLM Proxy**: Use named credentials created via the credential API or UI. The interactive device flow is handled by the proxy on your behalf — credentials are stored and reused automatically.
+- **Python SDK**: Credentials are stored locally in `~/.config/litellm/chatgpt/auth.json` on disk (file-based, for backward compatibility).
+
+:::info
+
+If you hit a ChatGPT model without a configured credential (proxy) or auth file (SDK), LiteLLM returns an `AuthenticationError`.
+
+:::
## Usage - LiteLLM Python SDK
+### Setup (first time)
+
+Authenticate once by running the login command. This stores your refresh token in `~/.config/litellm/chatgpt/auth.json` for future use.
+
+```bash showLineNumbers title="Authenticate via device flow (SDK only)"
+litellm --login chatgpt
+```
+
### Responses (recommended for Codex models)
```python showLineNumbers title="ChatGPT Responses"
@@ -53,6 +69,8 @@ print(response)
## Usage - LiteLLM Proxy
+The proxy requires a named credential. See [Credential-Based Authentication](#credential-based-authentication-proxy) below.
+
```yaml showLineNumbers title="config.yaml"
model_list:
- model_name: chatgpt/gpt-5.4
@@ -60,37 +78,151 @@ model_list:
mode: responses
litellm_params:
model: chatgpt/gpt-5.4
+ litellm_credential_name: my-chatgpt # named credential (required for proxy)
- model_name: chatgpt/gpt-5.4-pro
model_info:
mode: responses
litellm_params:
model: chatgpt/gpt-5.4-pro
+ litellm_credential_name: my-chatgpt
- model_name: chatgpt/gpt-5.3-codex
model_info:
mode: responses
litellm_params:
model: chatgpt/gpt-5.3-codex
- - model_name: chatgpt/gpt-5.3-codex-spark
- model_info:
- mode: responses
- litellm_params:
- model: chatgpt/gpt-5.3-codex-spark
- - model_name: chatgpt/gpt-5.3-instant
- model_info:
- mode: responses
- litellm_params:
- model: chatgpt/gpt-5.3-instant
- - model_name: chatgpt/gpt-5.3-chat-latest
- model_info:
- mode: responses
- litellm_params:
- model: chatgpt/gpt-5.3-chat-latest
+ litellm_credential_name: my-chatgpt
```
```bash showLineNumbers title="Start LiteLLM Proxy"
litellm --config config.yaml
```
+