G’day—I have refresh tokens working in my code. It was finnicky so I wrote up a guide: Guide: How OAuth refresh tokens & revocation work with GPT Actions
I can confirm that token refreshes work, and that ChatGPT will call /oauth/token
with your refresh token to ask for a new access token once the initial access token has expired. From reading your post, it sounds like ChatGPT was asking the user to log in again, which it shouldn’t be doing—the token refresh process should happen automatically without user interaction. Is that what’s happening?