# Missing 'openid' scope in dynamically registered OAuth clients

**URL:** <https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690>\
**Category:** ChatGPT Apps SDK\
**Created:** [December 8, 2025, 8:42am UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690 "2025-12-08T08:42:23Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![mikkokutilainen](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/mikkokutilainen/32/700494_2.png) [@mikkokutilainen](https://community.openai.com/u/mikkokutilainen)\
**Post date:** [December 8, 2025, 8:42am UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/1 "2025-12-08T08:42:23Z")

</div>

When adding a new app, ChatGPT automatically creates an OAuth client using Dynamic Client Registration. However, the generated client does **not** include the `openid` scope. As a result, subsequent authentication attempts fail because ChatGPT requests the `openid` scope during the authorization flow, which the client has not been configured to support.

Our .`well-known/oauth-protected-resource` includes `scopes_supported` with `openid` included.

We are using Clerk as our auth server.

Anyone experiencing same issue?

---

<div class="post-metadata">

**Author:** ![Mohamed\_Mamdouh](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/mohamed_mamdouh/32/522722_2.png) [@Mohamed\_Mamdouh](https://community.openai.com/u/Mohamed_Mamdouh)\
**Post date:** [February 23, 2026, 8:38pm UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/2 "2026-02-23T20:38:04Z")

</div>

@mikkokutilainen I am experiencing the same, Did you manage to find a workaround for this?

---

<div class="post-metadata">

**Author:** ![Evan\_Fenster](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/evan_fenster/32/513141_2.png) [@Evan\_Fenster](https://community.openai.com/u/Evan_Fenster)\
**Post date:** [February 23, 2026, 8:58pm UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/3 "2026-02-23T20:58:12Z")

</div>

Hi @mikkokutilainen @Mohamed_Mamdouh , we encountered the same issue.

You may be able to go in and manually add `openid` after the initial registration, but this is sometimes tricky with the timing. Another solution is to manually create the client in Clerk with `openid` and the other fields included, and then add the `Oauth client ID` and `Oauth client secret` manually when creating the App in ChatGPT (screenshot attached).

Let me know if either of these work for you, or if you find a more reliable way to get `openid` working with DCR.

 ![Screenshot 2026-02-23 at 3.54.18 PM](https://us1.discourse-cdn.com/openai1/original/4X/f/4/d/f4d9a9470be279670efb35156b095387516fd40e.png)

---

<div class="post-metadata">

**Author:** ![Mohamed\_Mamdouh](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/mohamed_mamdouh/32/522722_2.png) [@Mohamed\_Mamdouh](https://community.openai.com/u/Mohamed_Mamdouh)\
**Post date:** [February 24, 2026, 11:31am UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/4 "2026-02-24T11:31:26Z")

</div>

Hi @Evan_Fenster  
Second way conceptually should work but it does not take advantage of oAuth Dynamic Registration feature in clerk and definitely will need more development effort.

I am trying a work around now and if worked will share it shortly

---

<div class="post-metadata">

**Author:** ![OpenAI\_Support](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/openai_support/32/561845_2.png) [@OpenAI\_Support](https://community.openai.com/u/OpenAI_Support)\
**Post date:** [February 24, 2026, 3:26pm UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/5 "2026-02-24T15:26:39Z")

</div>

Hey @mikkokutilainen @Mohamed\_Mamdouh, yeah, that’s a confusing one.

When using DCR, ChatGPT handles the OAuth client creation automatically, but it still depends on the provider correctly supporting standard OAuth/OIDC behavior, as outlined in the [Developer Mode & MCP Apps](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt-beta) guide. If a required scope isn’t included at registration time but is later requested during auth, the flow can fail.

Quick checks that would help:

- Is openid present in the DCR request and Clerk is dropping it?
- Or is it missing already in the registration payload?
- Rough timestamp with timezone of a failed attempt?

If this happens consistently with a fresh app and fresh DCR, that’s useful signal. Let’s narrow down whether this is Clerk specific or something broader.

---

<div class="post-metadata">

**Author:** ![Mohamed\_Mamdouh](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/mohamed_mamdouh/32/522722_2.png) [@Mohamed\_Mamdouh](https://community.openai.com/u/Mohamed_Mamdouh)\
**Post date:** [March 2, 2026, 3:54pm UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/6 "2026-03-02T15:54:09Z")

</div>

@OpenAI_Support Thanks for the input, Just FYI, Regarding Clerk, my same MCP server when being used with Claude the web app, it requests the scopes and i can see it in Clerk. So I don’t think the issue related to Clerk

---

<div class="post-metadata">

**Author:** ![Yingzxu](https://avatars.discourse-cdn.com/v4/letter/y/c6cbf5/32.png) [@Yingzxu](https://community.openai.com/u/Yingzxu)\
**Post date:** [May 6, 2026, 7:09am UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/7 "2026-05-06T07:09:41Z")

</div>

Hey @mikkokutilainen have you found a workaround? I’m hitting the same issue

---

<div class="post-metadata">

**Author:** ![Yingzxu](https://avatars.discourse-cdn.com/v4/letter/y/c6cbf5/32.png) [@Yingzxu](https://community.openai.com/u/Yingzxu)\
**Post date:** [May 7, 2026, 1:43am UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/8 "2026-05-07T01:43:05Z")

</div>

I’ve managed to implement a workaround by pointing the OAuth app registration endpoint to our own API. This allows us to patch the requested scope before it hits Clerk, which seems to be working well for our implementation.

---

<div class="post-metadata">

**Author:** ![elviin](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/elviin/32/740329_2.png) [@elviin](https://community.openai.com/u/elviin)\
**Post date:** [May 27, 2026, 11:11am UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/9 "2026-05-27T11:11:06Z")

</div>

@OpenAI_Support

ChatGPT’s actual DCR call omits openid

When I click Connect in ChatGPT’s Developer Mode against the same MCP URL, the resulting OAuth application in the authorization server’s dashboard has:

- name: ChatGPT

- scopes: email offline\_access profile ← openid is missing

- client\_id: dcr-generated-id

The subsequent /authorize step then fails with the authorization server’s internal state-validation error (which translates to an invalid\_scope-class condition, since

ChatGPT’s /authorize request does include scope=openid … but the just-registered client wasn’t permitted it).

Diagnosis

ChatGPT’s DCR scope-list builder and /authorize scope-list builder disagree about openid:

- /authorize: correctly includes openid (consistent with OIDC Core §3.1.2.1, since it needs an ID token for user identity).

- DCR registration POST: omits openid from the scope field, despite our .well-known/oauth-protected-resource scopes\_supported advertising it.

Result: every fresh Developer-Mode connection creates an OAuth client that cannot fulfill the /authorize request that follows. The only workaround currently is to PATCH openid into each freshly-created client by hand (or via a script targeting the provider’s admin API).

Please confirm whether ChatGPT’s MCP connector is intended to:

- (a) read scopes\_supported from the protected-resource metadata and include those scopes in the DCR scope field, or

- (b) include only a hardcoded scope set in DCR.

If (a), there’s a bug in the DCR scope-list builder — it isn’t reading our metadata. If (b), then openid should be part of that hardcoded set (since /authorize requires it for OIDC anyway, which ChatGPT clearly relies on for user identity).

---

<div class="post-metadata">

**Author:** ![OpenAI\_Support](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/openai_support/32/561845_2.png) [@OpenAI\_Support](https://community.openai.com/u/OpenAI_Support)\
**Post date:** [September 20, 2026, 1:36pm UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/10 "2026-09-20T13:36:20Z")

</div>

Hey everyone, Apologies for the delay. Can someone please confirm if this still an issue. Thank you!

---

<div class="post-metadata">

**Author:** ![Prashant\_Pardesi](https://avatars.discourse-cdn.com/v4/letter/p/f9ae1b/32.png) [@Prashant\_Pardesi](https://community.openai.com/u/Prashant_Pardesi)\
**Post date:** [September 22, 2026, 8:41am UTC](https://community.openai.com/t/missing-openid-scope-in-dynamically-registered-oauth-clients/1368690/11 "2026-09-22T08:41:49Z")

</div>

Closed on September 22, 2026, 8:41am UTC


