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
{{ message }}
Repository navigation
Uppercase OpenCode deep-link schemes are rejected #47581
OpenCode rejects otherwise valid deep links when the opencode URI scheme contains uppercase or mixed-case letters. Both open-project and new-session links are affected. URI schemes are case-insensitive under RFC 3986, and the URL parser accepts and normalizes these inputs, but the app performs a case-sensitive startsWith("opencode://") check before parsing.
This means a launcher or integration that emits OPENCODE:// cannot open a project or start a session even though it identifies the same scheme as opencode://. The parser should validate the parsed URL protocol case-insensitively instead of checking the raw prefix.
Thanks for the clear report and the RFC reference!
The parseDeepLink function you describe, with its open-project/new-session links and the case-sensitive startsWith("opencode://") check, is part of OpenCode v1 (versions 0.x/1.x). v1 now only gets fixes for critical bugs, such as data loss, security problems or breakage with no workaround. Using the lowercase opencode:// scheme, the canonical form under RFC 3986, avoids this one, so it's unlikely to be fixed in v1.
OpenCode v2 (@opencode/cli, versions 2.x) is a separate implementation and is where active development happens. Its desktop app parses the deep links it supports with new URL() and checks the parsed protocol, which already ignores scheme casing. We'd encourage upgrading to v2.
If you think this is critical for your setup, or you can reproduce a case-sensitivity problem with deep links on v2, please reply here with the details and the v2 version you used.
We haven't heard back, so I'm closing this as not planned. The case-sensitive opencode:// check in parseDeepLink is in OpenCode v1, which only gets critical fixes, and using the lowercase scheme avoids the problem. If you can reproduce a scheme-casing problem with deep links on v2 (@opencode/cli, 2.x), please open a new issue with the v2 version and the link you used. Thanks again for the detailed report!
Activity
sdivyanshu90 commentedon Sep 19, 2026
Could you please review this issue?
opencodejr commentedon Oct 28, 2026
Thanks for the clear report and the RFC reference!
The
parseDeepLinkfunction you describe, with itsopen-project/new-sessionlinks and the case-sensitivestartsWith("opencode://")check, is part of OpenCode v1 (versions 0.x/1.x). v1 now only gets fixes for critical bugs, such as data loss, security problems or breakage with no workaround. Using the lowercaseopencode://scheme, the canonical form under RFC 3986, avoids this one, so it's unlikely to be fixed in v1.OpenCode v2 (
@opencode/cli, versions 2.x) is a separate implementation and is where active development happens. Its desktop app parses the deep links it supports withnew URL()and checks the parsed protocol, which already ignores scheme casing. We'd encourage upgrading to v2.If you think this is critical for your setup, or you can reproduce a case-sensitivity problem with deep links on v2, please reply here with the details and the v2 version you used.
opencodejr commentedon Oct 29, 2026
We haven't heard back, so I'm closing this as not planned. The case-sensitive
opencode://check inparseDeepLinkis in OpenCode v1, which only gets critical fixes, and using the lowercase scheme avoids the problem. If you can reproduce a scheme-casing problem with deep links on v2 (@opencode/cli, 2.x), please open a new issue with the v2 version and the link you used. Thanks again for the detailed report!