We’re experimenting with workflows that bridge the gap between results in CI and fixing the issues in your IDE/Agent. To help enable that it’d be great to be able to simply click a link on the CI page and jump right into fixing the corresponding issues.
The prompt itself could have the error info (e.g. "compile failure in Foo.kt:3) or be instructions to fetch the errors via an MCP.
This would look something like
cursor://session?message=helloworld
Example implementation here for Cline
main
← tmelz:tmellor/uri_task
opened 09:21PM - 23 May 25 UTC
### Description
Allow opening a task with context via a link, like `vscode://… saoudrizwan.claude-dev/task?message=Hello%20World`. Makes it easier to integrate with other tools like CI.
As a follow up, I'd like to figure out the right way to pass the desired workspace as a param and have that work as expected. It's messier than I'd like so I'll keep this as a simple start.
### Test Procedure
These work as expected
```
open "vscode://saoudrizwan.claude-dev/task?message=hello%20from%20deep%20link&mode=plan"
open "vscode://saoudrizwan.claude-dev/task?message=hello%20from%20deep%20link&mode=act"
open "vscode://saoudrizwan.claude-dev/task?message64=aGVsbG8gd29ybGQ=&mode=plan"
```
### Type of Change
- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
- [x] ✨ New feature (non-breaking change which adds functionality)
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] ♻️ Refactor Changes
- [ ] 💅 Cosmetic Changes
- [ ] 📚 Documentation update
- [ ] 🏃 Workflow Changes
### Pre-flight Checklist
- [x] Changes are limited to a single feature, bugfix or chore (split larger changes into separate PRs)
- [x] Tests are passing (`npm test`) and code is formatted and linted (`npm run format && npm run lint`)
- [x] I have created a changeset using `npm run changeset` (required for user-facing changes)
- [x] I have reviewed [contributor guidelines](https://github.com/cline/cline/blob/main/CONTRIBUTING.md)
I wanted to write a simple test for this change, but there were persistent, confusing errors with `ERR_UNKNOWN_FILE_EXTENSION` that I see mentioned in other PRs like #3630 and #3246, so I went with simple manual verification for now.
### Screenshots
<img width="275" alt="Screenshot 2025-05-23 at 2 22 19 PM" src="https://github.com/user-attachments/assets/dda00446-7eb2-4b40-9ec4-b07b9925c65a" />
<img width="406" alt="Screenshot 2025-05-23 at 2 22 24 PM" src="https://github.com/user-attachments/assets/a18308c1-0512-4fcc-9b8c-737b94f5ed10" />
### Additional Notes
----
> [!IMPORTANT]
> Add deep linking feature to start tasks via URI with parameters for message and mode, including tests and documentation.
>
> - **Feature**:
> - Add `handleDeepLink` method in `Controller` to start tasks via URI with parameters `message`, `message64`, and `mode`.
> - Update `README.md` to document the new deep linking feature with examples.
> - Add `onUri` to `activationEvents` in `package.json`.
> - **Misc**:
> - Log errors and warnings in `handleDeepLink` for invalid base64 messages and missing workspace folders.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=cline%2Fcline&utm_source=github&utm_medium=referral)<sup> for e11f678ddebd1e47a97a6aba282d57a0e640021a. You can [customize](https://app.ellipsis.dev/cline/settings/summaries) this summary. It will automatically update as commits are pushed.</sup>
----
> [!IMPORTANT]
> Add deep linking feature to start tasks via URI with parameters for message and mode, including tests and documentation.
>
> - **Feature**:
> - Add `handleDeepLink` method in `Controller` to start tasks via URI with parameters `message`, `message64`, and `mode`.
> - Update `README.md` to document the new deep linking feature with examples.
> - Add `onUri` to `activationEvents` in `package.json`.
> - **Tests**:
> - Add `deepLink.test.ts` to test various scenarios for the `handleDeepLink` method, including valid and invalid URIs.
> - **Misc**:
> - Log errors and warnings in `handleDeepLink` for invalid base64 messages and missing workspace folders.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=cline%2Fcline&utm_source=github&utm_medium=referral)<sup> for e6aa0a252c3599a58233ded6ea767dd34c3ec21b. You can [customize](https://app.ellipsis.dev/cline/settings/summaries) this summary. It will automatically update as commits are pushed.</sup>
For obvious reasons you’d want to get the users confirmation before running the prompt in the link