You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a GitHub limitation, not an OpenCode issue. GitHub's MCP endpoint does not support Dynamic Client Registration (DCR) - it returns HTTP 422 when DCR is attempted.
According to GitHub's official documentation, only Copilot-integrated IDEs have OAuth support for the remote GitHub MCP server:
IDE
Remote OAuth Support
VS Code with Copilot
✅ OAuth + PAT
JetBrains with Copilot
✅ OAuth + PAT
Claude Code
❌ PAT only
Cursor
❌ PAT only
Windsurf
❌ PAT only
These Copilot IDEs work because they have pre-registered GitHub OAuth Apps with known client_id values. GitHub doesn't support DCR, so any client without a registered OAuth app must use PAT authentication.
Good news for OpenCode: PR #5940 (from #5766) adds support for configuring clientId and clientSecret in the MCP OAuth config. Once merged, you can use OAuth by:
Activity
github-actions commentedon Dec 23, 2025
This issue might be a duplicate of existing issues. Please check:
Feel free to ignore if none of these address your specific case.
christso commentedon Dec 28, 2025
This is a GitHub limitation, not an OpenCode issue. GitHub's MCP endpoint does not support Dynamic Client Registration (DCR) - it returns HTTP 422 when DCR is attempted.
According to GitHub's official documentation, only Copilot-integrated IDEs have OAuth support for the remote GitHub MCP server:
These Copilot IDEs work because they have pre-registered GitHub OAuth Apps with known
client_idvalues. GitHub doesn't support DCR, so any client without a registered OAuth app must use PAT authentication.Good news for OpenCode: PR #5940 (from #5766) adds support for configuring
clientIdandclientSecretin the MCP OAuth config. Once merged, you can use OAuth by:{ "mcp": { "github": { "type": "remote", "url": "https://api.githubcopilot.com/mcp/", "oauth": { "clientId": "your-client-id", "clientSecret": "your-client-secret" } } } }This actually puts OpenCode ahead of Claude Code, Cursor, and other non-Copilot IDEs which only support PAT authentication.