Skip to content

All tab path completion fails silently when a broken symlink exists anywhere in the project #1444

Open
@yar

Description

@yar

Bug Description
The tab completion for paths in the project silently stops working if there is a broken symlink anywhere in the project. How to reproduce:

  1. Create a symlink pointing to the destination that does not exist by e.g. running "ln -s /nonexistent broken-link".
  2. Try to use tab path completion. Start typing a file or directory name and press tab. Nothing will happen.
  3. Remove the broken symlink. Tab completion will start working again.

Environment Info

  • Platform: macos
  • Terminal: iTerm.app
  • Version: 1.0.6
  • Feedback ID: c76a4d29-093a-40ae-a408-eb0a28d46502

Errors

[{"error":"Error: Command failed: security find-generic-password -a $USER -w -s \"Claude Code\"\nsecurity: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at checkExecSyncError (node:child_process:892:11)\n    at execSync (node:child_process:964:15)\n    at tG (file:///Users/yar/.nvm/versions/node/v24.1.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:644:3921)\n    at file:///Users/yar/.nvm/versions/node/v24.1.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:572:6758\n    at Q (file:///Users/yar/.nvm/versions/node/v24.1.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:532:16886)\n    at oR1 (file:///Users/yar/.nvm/versions/node/v24.1.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:572:5777)\n    at GG (file:///Users/yar/.nvm/versions/node/v24.1.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:572:5406)\n    at PU2 (file:///Users/yar/.nvm/versions/node/v24.1.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1976:21167)","timestamp":"2025-05-30T16:17:41.182Z"},{"error":"Error: Command failed: /opt/homebrew/Cellar/ripgrep/14.1.1/bin/rg --files --follow .\nrg: ./broken-link: No such file or directory (os error 2)\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at ChildProcess.exithandler (node:child_process:415:12)\n    at ChildProcess.emit (node:events:507:28)\n    at ChildProcess.emit (node:domain:489:12)\n    at maybeClose (node:internal/child_process:1101:16)\n    at ChildProcess._handle.onexit (node:internal/child_process:305:5)","timestamp":"2025-05-30T16:17:42.493Z"},{"error":"Error: Command failed: /opt/homebrew/Cellar/ripgrep/14.1.1/bin/rg --files --follow .\nrg: ./broken-link: No such file or directory (os error 2)\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at ChildProcess.exithandler (node:child_process:415:12)\n    at ChildProcess.emit (node:events:507:28)\n    at ChildProcess.emit (node:domain:489:12)\n    at maybeClose (node:internal/child_process:1101:16)\n    at ChildProcess._handle.onexit (node:internal/child_process:305:5)","timestamp":"2025-05-30T16:17:42.797Z"},{"error":"Error: Command failed: /opt/homebrew/Cellar/ripgrep/14.1.1/bin/rg --files --follow .\nrg: ./broken-link: No such file or directory (os error 2)\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at ChildProcess.exithandler (node:child_process:415:12)\n    at ChildProcess.emit (node:events:507:28)\n    at ChildProcess.emit (node:domain:489:12)\n    at maybeClose (node:internal/child_process:1101:16)\n    at ChildProcess._handle.onexit (node:internal/child_process:305:5)","timestamp":"2025-05-30T16:17:43.012Z"},{"error":"Error: Command failed: /opt/homebrew/Cellar/ripgrep/14.1.1/bin/rg --files --follow .\nrg: ./broken-link: No such file or directory (os error 2)\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at ChildProcess.exithandler (node:child_process:415:12)\n    at ChildProcess.emit (node:events:507:28)\n    at ChildProcess.emit (node:domain:489:12)\n    at maybeClose (node:internal/child_process:1101:16)\n    at Socket.<anonymous> (node:internal/child_process:457:11)\n    at Socket.emit (node:events:507:28)\n    at Socket.emit (node:domain:489:12)\n    at Pipe.<anonymous> (node:net:351:12)","timestamp":"2025-05-30T16:17:43.096Z"},{"error":"Error: Command failed: /opt/homebrew/Cellar/ripgrep/14.1.1/bin/rg --files --follow .\nrg: ./broken-link: No such file or directory (os error 2)\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at ChildProcess.exithandler (node:child_process:415:12)\n    at ChildProcess.emit (node:events:507:28)\n    at ChildProcess.emit (node:domain:489:12)\n    at maybeClose (node:internal/child_process:1101:16)\n    at ChildProcess._handle.onexit (node:internal/child_process:305:5)","timestamp":"2025-05-30T16:17:43.256Z"}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions