Skip to content

[Bug]: Agent file links to Claude Code's scratch folder are unclickable, or open a file named "..." #30757

Open

Description

@JMHSV

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/web (file-link detection in chat), and the agent instructions T3 adds to Claude threads

Steps to reproduce

  1. Run a Claude thread in a worktree on a Linux server. T3 server 0.1.8-nightly.20261104.4165, Claude Code 2.1.318, macOS desktop client.
  2. Have the agent save a file to its scratch folder and mention it. Claude Code's scratch folder has a long path with segments that start with a dash, for example:
    /tmp/claude-1000/-home-me--t3-worktrees-proj-t3-abc123/<session-uuid>/scratchpad/notes.md
  3. The agent writes the path the way T3's instruction asks ("Link any other file you produce using its absolute path"). Observed in one thread, it did that in three ways:
    • A. As plain text, in full.
    • B. In inline code, shortened with an ellipsis: `/tmp/claude-1000/...`.
    • C. As a Markdown link: [notes.md](/tmp/claude-1000/-home-me--t3-worktrees-proj-t3-abc123/<session-uuid>/scratchpad/notes.md).
  4. Click each one.

Expected behavior

The file opens read-only in the file viewer, as for other absolute paths outside the workspace (#9140).

Actual behavior

  • A: The path is not turned into a link. There is nothing to click. I haven't isolated which part of the path stops detection. The dash-led segments are my guess.
  • B: The text becomes a file chip. Clicking it asks the server for a file literally named ...:
    WorkspaceFileSystemOperationError: Workspace file operation 'realpath-target' failed at '/tmp/claude-1000/...'
    
    The viewer then shows "The file could not be accessed or read" with "Attempted path /tmp/claude-1000/...". This looks like T3 cut the path short, but it was the agent's own shorthand.
  • C: Works.

Only form C works reliably, and the instruction doesn't ask for it.

Suggested fix

  1. Make the agent instruction name the format that works, for example: "Link each file you produce as a Markdown link with its absolute path, [name](/abs/path). Never shorten the path."
  2. Detect long absolute paths in plain text, including segments that start with -.
  3. Don't make a file chip from a path whose last segment is ..., or any other run of dots only.

Item 1 alone would have prevented this, for every agent and machine.

Impact

Minor bug or occasional failure. Each time it happens, the user sees a broken or missing link to a file the agent just made, and it looks like T3 can't read /tmp.

Activity

  1. madebyjulz commented on Nov 9, 2026

    @madebyjulz

    Same problem here: file paths from Claude like /private/tmp/claude-501/-Users-<user>-…/scratchpad/file.pdf show up as plain text and can't be clicked, even though the files exist. macOS desktop, 0.1.8-nightly.20261109.4399.

    Posted via T3 Code triage by Claude Opus 5.5 (Claude Code).

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

Metadata

Metadata

Assignees

No one assigned

    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