github copilot cli 默认信任整个当前工作目录,需手动限制访问范围:可通过切换目录、--cwd 参数或配置allowedpaths实现精准控制。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在终端中运行 GitHub Copilot CLI 时,默认会请求信任整个当前工作目录及其所有子目录,但很多项目只需要 Copilot 读取 src/ 或 lib/ 这类核心代码目录,避免它扫描 node_modules、.git 或敏感配置文件——这就需要手动限制它的工作区范围。
启动 CLI 前先切换到目标子目录
进入你真正想让 Copilot 处理的最小必要路径,例如:cd ./src 或 cd ./packages/core。
这一步必须在执行 copilot 命令前完成。Copilot CLI 的信任判定只看启动时所在的物理路径,【不会自动向上或向下递归识别项目根目录】。
如果直接在项目根目录下运行 copilot,它就会默认请求访问 .git、package-lock.json、secrets/.env 等所有同级内容。
用 --cwd 参数强制指定工作区
方法一:显式传入路径
在任意位置执行:copilot --cwd ./src。
该参数会覆盖当前 shell 工作目录,Copilot 将仅把 ./src 视为根,并在此范围内读取文件、生成建议、执行修改。
方法二:配合 shell 别名简化操作
专为资深工程师设计,用于高效日常使用 GitHub Copilot CLI。适用于在规划、提示、审查或链式调用 gh copilot 命令时,探索代码库、起草变更、调试问题或加速工作流,且不偏离架构意图。
在 ~/.zshrc 或 ~/.bashrc 中添加:alias cpi='copilot --cwd $(git rev-parse --show-toplevel)/src',然后 source ~/.zshrc,之后只需输入 cpi 即可自动定位到 Git 仓库下 src 目录。
永久禁用跨目录访问能力
第一步:打开权限配置文件
运行 code ~/.copilot/permissions-config.json(或用 vim/nano 编辑)。
第二步:找到 "allowedPaths" 字段,将其值替换为绝对路径数组,例如:
"allowedPaths": ["/Users/you/project/src", "/Users/you/project/types"]。
第三步:保存文件后,下次启动 copilot 时若尝试访问未列路径,CLI 会直接报错退出,【不会弹出二次确认提示】。
注意:此配置对所有后续 CLI 会话生效,且无法被 --cwd 覆盖。










