Skip to content

[FEATURE]: Desktop: Clickable file paths in chat to open/reveal in Explorer #17209

Closed as not planned

Description

@DaveW001

Feature hasn't been suggested before.

  • 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:

  1. 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).
  2. Open Directory: If the path is a directory, it should open that directory in the native file explorer.
  3. 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.

Activity

  1. github-actions commented on Mar 12, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. DaveW001 commented on Mar 12, 2026

    @DaveW001
    Author

    This issue might be a duplicate of existing issues. Please check:

    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.

  3. CarloWood commented on Apr 17, 2026

    @CarloWood
    Contributor

    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"
        }
      };
    };
    
  4. removed
    webRelates to opencode on web / desktop
    on May 3, 2026
  5. github-actions commented on Jul 3, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions