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
I have an issue with AI and have included the debugging ID (Optional, but helps expedite the AI quality fix). Debugging ID instructions
I have technical issue and have included the logs (optional, but helps expedite the bug fix). Log instructions
Describe the bug
Filenames in tree output (and eza --tree, lsd --tree, and similar tree-drawing listers) are never clickable in Warp, even when the file they name exists on disk under the tree's root.
Example row from tree /tmp/repro:
│ └── alpha.md
alpha.md is not recognized as a clickable filename token. Hovering the filename does not highlight it; clicking does nothing.
The cause is in the tokenizer's separator set: FILE_LINK_SEPARATORS in app/src/terminal/model/grid/grid_handler.rs includes ASCII | and space but not the Unicode box-drawing characters │ (U+2502), ├ (U+251C), └ (U+2514), ─ (U+2500), ┬ (U+252C), ┴ (U+2534), ┼ (U+253C) that tree-style commands use to draw their hierarchy. Because these characters are not separators, a row like │ └── alpha.md is tokenized as a single word and alpha.md never appears as a standalone candidate substring for file-path validation.
This is a separate concern from the directory-root resolution bug in #9908: even with listing-aware resolution in place, tree output cannot benefit because the tokenizer doesn't produce the right candidates in the first place.
To reproduce
mkdir -p /tmp/tree-repro/{a,b}
echo hi > /tmp/tree-repro/a/alpha.md
echo hi > /tmp/tree-repro/b/beta.json
cd /tmp/tree-repro
tree
Hover any filename in the output. Observe that nothing is highlighted as a clickable link.
For reference, the output looks like:
.
├── a
│ └── alpha.md
└── b
└── beta.json
Expected behavior
alpha.md, beta.json, and the directory names a, b must be tokenized as standalone filename candidates by the grid tokenizer.
Extend FILE_LINK_SEPARATORS in app/src/terminal/model/grid/grid_handler.rs to include the Unicode box-drawing characters that appear in common tree/ASCII-art output:
// Add to the existing set:'│','├','└','─','┬','┴','┼',// And the double-line variants for completeness:'║','╠','╚','═','╦','╩','╬',
Add tests in app/src/util/link_detection_test.rs covering:
│ └── alpha.md → candidates include alpha.md
Multi-byte (Unicode) filenames inside tree output: │ └── 音楽.md → candidates include 音楽.md
Absolute path leaves: │ └── /tmp/foo.md → candidates include /tmp/foo.md
Screenshots, videos, and logs
The repro steps above are minimal and deterministic; happy to record a short screen capture on request.
Operating system (OS)
macOS
Operating system and version
macOS 26.4.1 (Darwin 25.4.0, arm64)
Shell Version
zsh 5.9
Current Warp version
v0.2026.04.27.15.32.stable_03
Regression
No, this bug or issue has existed throughout my experience using Warp
Recent working Warp date
No response
Additional context
tree version tested: tree v2.2.1 (Homebrew). This issue is a prerequisite for the tree part of the scope in #9908. Fixing one without the other still leaves tree output unclickable.
Does this block you from using Warp daily?
No
Is this an issue only in Warp?
Yes, I confirmed that this only happens in Warp, not other terminals.
Pre-submit Checks
Describe the bug
Filenames in
treeoutput (andeza --tree,lsd --tree, and similar tree-drawing listers) are never clickable in Warp, even when the file they name exists on disk under the tree's root.Example row from
tree /tmp/repro:alpha.mdis not recognized as a clickable filename token. Hovering the filename does not highlight it; clicking does nothing.The cause is in the tokenizer's separator set:
FILE_LINK_SEPARATORSinapp/src/terminal/model/grid/grid_handler.rsincludes ASCII|and space but not the Unicode box-drawing characters│(U+2502),├(U+251C),└(U+2514),─(U+2500),┬(U+252C),┴(U+2534),┼(U+253C) thattree-style commands use to draw their hierarchy. Because these characters are not separators, a row like│ └── alpha.mdis tokenized as a single word andalpha.mdnever appears as a standalone candidate substring for file-path validation.This is a separate concern from the directory-root resolution bug in #9908: even with listing-aware resolution in place,
treeoutput cannot benefit because the tokenizer doesn't produce the right candidates in the first place.To reproduce
mkdir -p /tmp/tree-repro/{a,b} echo hi > /tmp/tree-repro/a/alpha.md echo hi > /tmp/tree-repro/b/beta.json cd /tmp/tree-repro treeHover any filename in the output. Observe that nothing is highlighted as a clickable link.
For reference, the output looks like:
Expected behavior
alpha.md,beta.json, and the directory namesa,bmust be tokenized as standalone filename candidates by the grid tokenizer.ls DIR/output resolve against CWD, silently opening wrong files #9908 in place, that resolution uses the tree command's argument directory.)Proposed fix
Extend
FILE_LINK_SEPARATORSinapp/src/terminal/model/grid/grid_handler.rsto include the Unicode box-drawing characters that appear in common tree/ASCII-art output:Add tests in
app/src/util/link_detection_test.rscovering:│ └── alpha.md→ candidates includealpha.md│ └── 音楽.md→ candidates include音楽.md│ └── /tmp/foo.md→ candidates include/tmp/foo.mdScreenshots, videos, and logs
The repro steps above are minimal and deterministic; happy to record a short screen capture on request.
Operating system (OS)
macOS
Operating system and version
macOS 26.4.1 (Darwin 25.4.0, arm64)
Shell Version
zsh 5.9
Current Warp version
v0.2026.04.27.15.32.stable_03
Regression
No, this bug or issue has existed throughout my experience using Warp
Recent working Warp date
No response
Additional context
treeversion tested: tree v2.2.1 (Homebrew). This issue is a prerequisite for thetreepart of the scope in #9908. Fixing one without the other still leavestreeoutput unclickable.Does this block you from using Warp daily?
No
Is this an issue only in Warp?
Yes, I confirmed that this only happens in Warp, not other terminals.
Warp Internal (ignore): linear-label:b9d78064-c89e-4973-b153-5178a31ee54e
None