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
[FEATURE]: Desktop: Clickable file paths in chat to open/reveal in Explorer #17209
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Problem
In the OpenCode Desktop application, when an agent mentions file paths or directories in the chat conversation (e.g., in a list of completed tasks or when explaining code changes), these paths are currently rendered as plain text. Users have to manually navigate to these files in their file explorer or IDE, which adds unnecessary friction.
Proposed Solution
Make file paths and directory paths in the chat conversation clickable. When a user clicks on a path, the following behaviors should be supported in the Desktop app:
Reveal in File Explorer: For files, clicking (or a specific action like Ctrl+Click or a context menu option) should reveal the file in the native file explorer (Windows Explorer, macOS Finder, Linux File Manager).
Open Directory: If the path is a directory, it should open that directory in the native file explorer.
Open in Default Application: For common non-code files like Markdown (.md), HTML (.html), or PDFs, clicking the path should open the file in the system's default application.
Benefits
Significantly speeds up the workflow of inspecting or managing files mentioned by the agent.
Provides a more integrated and "desktop-native" experience.
Reduces manual copy-pasting of paths.
Context
This is specifically for the Desktop application where native file system integration is a core strength. The goal is to make any path string recognized in the chat (especially those in backticks or markdown lists) interactive. This would include paths like runner.py, config/default.json, or .conductor/tracks/.../plan.md as seen in typical agent responses.
Reacted by Andreas Sefzig, 33ksite, Salih and Daniel Miradakis
I don't see this as a duplicate. We can combine the two, but I'd suggest that the items could be released independently. That suggests to me to keep them separate.
I think that the proper way to implement this is to allow adding configuration that specifies one or more regular expressions that the UI highlights in printed text, and if clicked, generates an event with the matched expression as parameter that can be caught in a plugin.
For example,
"[/A-Za-z0-9_-]+\.ts:[0-9]+": "typescript_line"
and in a plugin:
export const HighlightPlugin = async (input) => {
return {
"clicked.env": async (ctx) {
..do something with ctx.key, that will be equal to "typescript_line"..
..and ctx.link, that will be equal to say "packages/opencode/src/session/llm.ts:149"
}
};
};
Activity
github-actions commentedon Mar 12, 2026
This issue might be a duplicate of existing issues. Please check:
DaveW001 commentedon Mar 12, 2026
I don't see this as a duplicate. We can combine the two, but I'd suggest that the items could be released independently. That suggests to me to keep them separate.
CarloWood commentedon Apr 17, 2026
I think that the proper way to implement this is to allow adding configuration that specifies one or more regular expressions that the UI highlights in printed text, and if clicked, generates an event with the matched expression as parameter that can be caught in a plugin.
For example,
and in a plugin:
github-actions commentedon Jul 3, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.