根本原因是node.js进程被系统策略限制权限,导致copilot无法加载本地运行时依赖;可通过检查agent.js执行权限、执行chmod +x修复,或配置startupscript持久化解决。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

GitHub Copilot在VS Code中启动失败,报错“Extension Host failed to start”,根本原因常是Node.js进程被系统策略限制权限,导致Copilot无法加载其本地运行时依赖。
确认Node进程是否被系统拦截
打开VS Code的开发者工具(Help → Toggle Developer Tools),切换到Console标签页,查找含“EACCES”或“permission denied”的错误行;若出现类似/home/user/.vscode/extensions/github.copilot-*.*/dist/agent.js: Permission denied,说明Node进程无权执行Copilot内置代理二进制或临时脚本文件。
在终端执行:ls -l ~/.vscode/extensions/github.copilot-*/dist/agent.js,检查该文件是否缺失可执行权限(即没有 x 标志)。
修复Node进程执行权限
方法一:手动添加执行权限(推荐)
运行命令:chmod +x ~/.vscode/extensions/github.copilot-*/dist/agent.js。这一步必须执行,否则VS Code重启后仍会因权限不足触发Extension Host崩溃。
方法二:禁用Linux内核的fs.protected_regular(仅限测试环境)
执行:sudo sysctl fs.protected_regular=0。⚠️注意:【此操作会降低系统安全性,禁止在生产服务器或企业办公机上启用】。该参数若为1(默认),将阻止非特权进程执行位于tmpfs或user-writable目录下的可执行文件——而Copilot的agent.js正被解压至用户可写扩展目录,恰好命中该防护机制。
防止权限重置的持久化方案
第一步:创建权限修复脚本
新建文件~/bin/fix-copilot-perm.sh,写入以下内容:
#!/bin/sh<br>find ~/.vscode/extensions -name "agent.js" -exec chmod +x {} \;
第二步:赋予脚本可执行权
chmod +x ~/bin/fix-copilot-perm.sh
第三步:配置VS Code启动前自动执行
在VS Code设置中搜索developer.startupScript,将其值设为~/bin/fix-copilot-perm.sh。该设置项需VS Code 1.89+,若当前版本低于此,请升级VS Code后再配置。
第四步:重启VS Code并验证
重启后观察状态栏右下角是否显示Copilot图标,且无Extension Host报错弹窗。











