{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreihvlz5k4zydsatudvyd27sg3dblck2rh2dllo6hfojzv2abv5fcfq",
"uri": "at://did:plc:lk3jfj3zq4k4wxnk474axylu/app.bsky.feed.post/3mhg5sfabo762"
},
"path": "/t/chatgpt-mcp-connector-refreshes-token-on-every-tool-call-and-doesnt-persist-sessions/1377210#post_1",
"publishedAt": "2026-03-19T12:44:33.000Z",
"site": "https://community.openai.com",
"textContent": "## Summary\n\nChatGPT’s MCP connector unconditionally refreshes the OAuth token and\ncreates a new MCP session before every single tool call, even when the access token is still\nvalid.\n\n## Observed Behavior\n\nEvery tool invocation follows this pattern:\n\nPOST /token (grant_type=refresh_token) ← token is still valid\ninitialize ← new MCP session\nmessage processing canceled ← previous session killed\ntools/call ← actual work\n\nThis happens regardless of `expires_in` — even with a freshly issued access token (e.g.,\n`expires_in: 3600`), the next tool call triggers a full refresh + new session.\n\n## Evidence from Server Logs\n\nRefresh token request — clientId={clientId}, userAgent=Python/3.12 aiohttp/3.13.3\nPOST /token → 200\ninitialize → Client\nmessage processing canceled\ntools/call → success\nRefresh token request — clientId={clientId} ← immediately refreshes again\ninitialize → Client ← brand new session\ntools/call → success\n\n## Problems This Causes\n\n 1. **Unnecessary load on authorization servers.** Every tool call hits the token endpoint even\nwhen the access token has minutes/hours of remaining validity.\n\n 2. **Users are repeatedly prompted to re-authenticate** despite having valid tokens with\n`offline_access` scope.\n\n\n\n\n## Environment\n\n * **MCP client:** ChatGPT Desktop/Web\n * **OAuth flow:** Authorization Code + PKCE (OAuth 2.1)\n * **Scopes:** `openid profile api offline_access`\n * Server correctly returns `expires_in`, `access_token`, and `refresh_token` in token responses\n\n",
"title": "ChatGPT MCP connector refreshes token on every tool call and doesn't persist sessions"
}