Skip to content

desktop: file links send literal ellipsis (U+2026) to /api/fs/read and 404 #51516

Closed as not planned

Description

@thepikbox

Summary

In the desktop app, clicking a file link whose displayed path is abbreviated with a
home-directory ellipsis (…) sends that abbreviated string verbatim to
GET /api/fs/read/…, so the request 404s. The real file exists and opens fine by its
full path. The ellipsis is U+2026 HORIZONTAL ELLIPSIS (%E2%80%A6), not ~, and the
server does not expand it.

Environment

  • opencode version: 2.0.15 (desktop app, opencode-cli.version); update to 2.0.18 staged
  • OS: Windows_NT 10.0.26200 (win32 x64), Windows 11
  • Terminal: Unavailable — OpenCode desktop app (Electron); TERM=xterm-256color, TERM_PROGRAM unset
  • Shell: C:\WINDOWS\system32\cmd.exe
  • Install/channel: latest — desktop installer (@opencodedesktop)
  • Active plugins: none found in config (only an MCP playwright server configured)

Reproduction

  1. In a desktop session, have the assistant reference a file that lives under the home
    directory but outside the project
    , for example
    C:\Users\<user>\.config\opencode\commands\grill-me.md.
  2. Click the file link in the chat.
  3. The UI shows Failed to load file / File not found.
  4. The server log shows the abridged path requested literally.

Expected Behavior

The link opens the real file. Any home-prefix abbreviation or middle-truncation used for
display should be expanded back to the real absolute path before the fs/read request.

Actual Behavior

The request path still contains the display ellipsis:

GET /api/fs/read/%E2%80%A6/config/opencode/commands/grill-me.md   -> 404   (x2)

%E2%80%A6 decodes to … (U+2026). The real path
C:\Users\<user>\.config\opencode\commands\grill-me.md exists (2041 bytes) and reads
successfully by full path, so only the link expansion is broken.

The same happens when the chat text itself used a shorthand ellipsis:

GET /api/fs/read/%E2%80%A6/skills/engineering/prototype   -> 404   (x3)

Additional Context

Activity

  1. github-actions commented on Sep 26, 2026

    @github-actions
    Contributor

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

    • #50390: Desktop clicking a ~-prefixed file path pill reports “File not found” while the absolute path works; the home-path expansion behavior may overlap.
  2. opencodejr commented on Oct 28, 2026

    @opencodejr
    Contributor

    Thanks for the detailed report! A couple of things would help us pin this down:

    1. Does this still happen on the latest release (v2.2.0)? Since 2.0.15, file detection in messages has changed: an inline path now only becomes clickable once the app confirms the file exists. A path containing … should therefore no longer show up as a link.
    2. What did the message itself contain? From the code, clicking a path in a message opens exactly the text written in the message (or the link's target, for a markdown link). We couldn't find anywhere that the desktop app shortens your home directory to … before opening a file. Could you copy the raw text of the assistant message with the link (e.g. via copy message) and paste the relevant line here? That tells us whether the model wrote …/.config/... itself or the app turned a full path into ….

    You can reply here with the details, or edit the issue. If you edit it, please also leave a comment saying you've updated it, so we know you're done.

    Related issues, ordered by likelihood of overlap (none looks like the same problem):

  3. opencodejr commented on Oct 31, 2026

    @opencodejr
    Contributor

    We're closing this as not planned for now, since we haven't heard back. We needed to know two things: whether file links with a literal … still fail on the latest release (v2.2.0), and the raw text of the assistant message that contained the link. Since 2.0.15, an inline path only becomes clickable once the app confirms the file exists. Clicking a path also opens exactly the text written in the message, so the … most likely came from the model's own output, not from the app shortening your home directory.

    If this still happens on the latest version, please reply here with the raw message text (or open a new issue) and we can take another look. Thanks for the detailed report!

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions