anomalyco / anomalyco/opencode
Uppercase OpenCode deep-link schemes are rejected
@Brendonovich is already working on this.
Since Sep 6, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
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.
Reference: https://www.rfc-editor.org/rfc/rfc3986.html#section-3.1
Plugins
N/A
OpenCode version
N/A (reproduced in the shared deep-link parser)
Steps to reproduce
- Evaluate
parseDeepLink("opencode://open-project?directory=/tmp/demo"); it returns/tmp/demo. - Evaluate
parseDeepLink("OPENCODE://open-project?directory=/tmp/demo"). - Observe that the equivalent uppercase link returns
undefined. - The same rejection occurs for
OpenCode://new-session?directory=/tmp/demo.
Expected behavior: scheme casing should not change the parsed project directory or new-session request.
Screenshot and/or share link
Not provided; the parser calls above are the deterministic reproduction.
Operating System
All
Terminal
N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.