桌面应用:在通过手机远程控制(Remote Control)启动的 Code 会话中,本地文件链接始终无法打开
环境: macOS 27.0、Claude 桌面应用 2.2553.1、Claude Code 2.1.270(claude remote-control 服务器,工作目录 $HOME)、Claude iOS 应用。
问题描述
在通过 iOS 应用经远程控制(Remote Control)创建的 Code 会话中,在桌面应用里点击 Claude 回复中的本地文件链接(例如 /Users/<用户名>/notes/foo.md)时,会提示「无法读取此文件」/「超出工作目录」。而该文件确实存在,且正好位于该会话记录的工作目录内。
同一路径,在同一台 Mac 上由桌面应用创建的会话中点击,则能正常打开。
可复现性: 所有通过远程方式创建的会话(iPhone,或在另一台机器上通过 claude.ai/code 创建)都存在此问题;而所有本地创建的会话均未出现该问题。路径形式对此没有影响:绝对路径、符号链接路径、%20 编码路径以及非 iCloud 路径,在本地会话中均能正常打开;在某个远程创建的会话中,连续 9 次点击全部失败,而与此同时在另一个本地会话中点击相同的路径却能正常打开。
在出现问题的会话中实测
remote-control 服务器的工作目录 |
/Users/<用户名> |
失败会话记录的工作目录(cwd) |
/Users/<用户名> |
| 被拒绝访问的文件 | /Users/<用户名>/…/foo.md,存在 |
由此可见,后端的工作目录是正确的。文件面板似乎是针对某个文件夹进行检查,而该文件夹只有在用户主动选择文件夹以启动会话时才会被桌面应用一并附加。由 remote-control 派生的会话从未经过这一选择步骤,因此没有附加任何文件夹,导致所有本地链接都被拒绝。此外,目前也不存在可以向已存在会话附加文件夹的界面。
期望行为: 无论会话是如何启动的,会话工作目录内的链接都应当能够正常打开。
临时解决方案: 在桌面应用中创建会话,然后为该会话启用远程控制(Remote Control),再通过手机进行远程操作。