[Bug] Clickable file link in tool output resolves to wrong file when duplicate filenames exist

Resolved 💬 3 comments Opened Jan 6, 2026 by yluom Closed Feb 19, 2026

## Description

When editing a file that has the same name as another file in a different directory, the clickable link in the tool output UI links to the wrong file.

## Steps to Reproduce

  1. Have two files with the same name in different directories (e.g., CLAUDE.md at root and back/CLAUDE.md)
  2. Ask Claude to edit the nested one (back/CLAUDE.md)
  3. Claude correctly edits back/CLAUDE.md
  4. Click on the file link shown in the output (e.g., "⏺ Update(CLAUDE.md)")

## Expected Behavior

The link should open back/CLAUDE.md (the file that was actually edited)

## Actual Behavior

The link opens the root CLAUDE.md instead

## Hypothesis

The UI link appears to match by filename only, not the full path. When multiple files share the same name, it resolves to the first match (likely the root-level one).

Environment Info

  • Platform: darwin
  • Terminal: intellijmarkdown
  • Version: 2.0.76
  • Feedback ID: bd2ce6b1-6135-4f01-a506-ab0beb02b603

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/www/.local/share/claude/versions/2.0.76 (expected in multi-process scenarios)\n    at XZR (/$bunfs/root/claude:2430:2165)\n    at fUA (/$bunfs/root/claude:2430:1885)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T08:32:31.237Z"},{"error":"Error\n    at ak (/$bunfs/root/claude:59:1144)\n    at <anonymous> (/$bunfs/root/claude:60:10093)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T08:32:32.100Z"},{"error":"Error\n    at ak (/$bunfs/root/claude:59:1144)\n    at <anonymous> (/$bunfs/root/claude:60:10093)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:62:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T08:32:32.100Z"},{"error":"Error: Request was aborted.\n    at _createMessage (/$bunfs/root/claude:458:3157)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T08:34:12.052Z"},{"error":"Error: Request was aborted.\n    at _createMessage (/$bunfs/root/claude:458:3157)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T10:33:24.275Z"},{"error":"Error: Request was aborted.\n    at makeRequest (/$bunfs/root/claude:801:3940)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T10:33:58.538Z"},{"error":"Error: String not found in file. Failed to apply edit.\n    at ZkT (/$bunfs/root/claude:1544:731)\n    at C5R (/$bunfs/root/claude:1544:107)\n    at OGB (/$bunfs/root/claude:1801:123)\n    at rfB (/$bunfs/root/claude:2541:2654)\n    at L4 (/$bunfs/root/claude:202:20697)\n    at wq (/$bunfs/root/claude:202:39069)\n    at DTT (/$bunfs/root/claude:202:49684)\n    at J6 (/$bunfs/root/claude:202:85872)\n    at Vv (/$bunfs/root/claude:202:84850)\n    at mf (/$bunfs/root/claude:202:84675)","timestamp":"2026-01-05T11:05:53.305Z"},{"error":"Error: Request was aborted.\n    at makeRequest (/$bunfs/root/claude:801:3940)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T11:09:28.140Z"},{"error":"Error: EISDIR: illegal operation on a directory, read\n    at readFileSync (unknown)\n    at <anonymous> (/$bunfs/root/claude:12:500)\n    at sW (/$bunfs/root/claude:11:8463)\n    at readFileSync (/$bunfs/root/claude:12:465)\n    at Dw_ (/$bunfs/root/claude:4697:22559)\n    at call (/$bunfs/root/claude:966:945)\n    at call (/$bunfs/root/claude:962:6251)\n    at <anonymous> (/$bunfs/root/claude:3440:1507)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T16:11:27.023Z"},{"error":"Error: Request was aborted.\n    at _createMessage (/$bunfs/root/claude:458:3157)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-05T17:41:12.963Z"},{"error":"Error: Request was aborted.\n    at makeRequest (/$bunfs/root/claude:801:3940)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-06T07:21:55.888Z"},{"error":"Error: Request was aborted.\n    at _createMessage (/$bunfs/root/claude:458:3157)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-06T07:23:57.222Z"}]

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗