[FEATURE] Desktop Files pane: option to show dot-prefixed files and directories (hidden files)
Problem Statement
The Files pane in the Claude desktop app (Code tab) hides every entry whose name starts with a dot: .env, .env.local, .claude/, .github/, .gitignore, .vscode/, and so on. There is no toggle, setting, or shortcut to reveal them.
This is not a .gitignore effect: in my case the working directory is not even a git repository, and non-ignored entries like .github/ and .gitignore are hidden as well. It is a fixed name-based filter.
For a remote (SSH) session I checked where the filter lives. The listing is produced by the remote helper (~/.claude/remote/srv/<build>/server, claude-ssh 19f30c46353dde1606cad1fede73d0e9be222140, built 2026-09-08) in its files.list RPC handler. (*FilesHandler).list iterates os.ReadDir and unconditionally skips any name whose first byte is .:
5ca21b: call rcx ; entry.Name()
5ca225: cmp BYTE PTR [rax],0x2e ; name[0] == '.'
5ca228: sete dl
5ca231: je 0x5ca23d ; not a dot entry -> add to result
5ca23b: jmp 0x5ca1d4 ; dot entry -> skipped
The files.list request has no parameter to include hidden entries, so nothing on the client side could opt in today. files.stat and files.read have no such check, which is why a dotfile still opens fine when its path is clicked in the chat — only the tree listing hides it. #55699 reports the same behaviour for local macOS sessions, so it looks like a deliberate default in both code paths.
For projects where the important files are dotfiles (.claude/settings.json, .github/workflows/*.yml, .env*), the pane cannot be used to browse the project. Other coding apps (e.g. the Codex desktop app) show these entries.
Proposed Solution
Add a "Show hidden files" toggle to the Files pane:
- exposed in the pane (context menu or header button) and bound to the platform shortcut (
Cmd+Shift+.on macOS, matching Finder), and/or a persistent preference in Settings - persisted per workspace or globally, either is fine
- for remote sessions, pass the choice through as an
includeHidden-style parameter of theclaude-sshfiles.listRPC (the server currently drops dot entries before the client sees them) - optionally keep
.git/collapsed or excluded by default even when the toggle is on
Any future .gitignore-based filtering should stay independent of dotfile visibility.
Alternative Solutions
- Clicking a dotfile path in the chat (or asking Claude to open it) works, because
files.readdoes not filter. This needs the path to be typed or mentioned first. - Using the terminal pane (
cat .env). @mentions in the prompt: the CLI's file completion does include hidden files, so the inconsistency is only in the Files pane.
Priority
High - Significant impact on productivity
Feature Category
Other
Use Case Example
- Open a project in the Claude desktop app over SSH (macOS app, Linux host).
- The repository keeps its configuration in
.claude/,.github/workflows/, and.env.example. - Open the Files pane to review those files before starting a session: none of them appear in the tree, and there is no indication that entries are hidden.
- With the toggle, they would show up in the tree like in any editor or file manager, and the pane could be used for the review.
Additional Context
- Previous requests: #53519 (11 👍, no maintainer response, auto-closed as inactive on 2026-06-03 and locked) and #55699 (auto-closed as a duplicate of #53519 three days after filing, locked). Since both are locked, this issue re-files the request as the bots suggest.
- Environment: Claude desktop app 2.110.0 (dfb2ba, 2026-09-15) on macOS 26.6.2 (25G83), remote SSH session to a Linux host; app-managed CLI
2.1.270; remote helperclaude-ssh 19f30c46353dde1606cad1fede73d0e9be222140 (built 2026-09-08T17:26:17Z). - The desktop docs (https://code.claude.com/docs/en/desktop) do not mention that hidden entries are omitted from the pane.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗