这一篇只做一件事:让你手里有一个能改你自己项目的 Claude Code, 并且知道它的权限边界在哪、配置写在哪个文件里。 后面第 8 篇要给它换接入端点,改的就是这一篇里认识的那几个位置。
本文写什么安装、授权、配置文件的层级与优先级、常见翻车点。 本文不写我们自己的配置内容、跑在哪、连的什么。示例全是通用占位。
它有两副面孔,用的是同一份配置:
| CLI | VS Code 扩展 | |
|---|---|---|
| 怎么装 | 装独立 CLI,任何终端里跑 claude | 扩展市场搜 Claude Code(标识 anthropic.claude-code),或从 Open VSX 装 |
| 前置 | — | VS Code 1.94.0 或更高 |
| 登录 | 付费 Claude 订阅或 Console 账号皆可,不需要 API key | |
| 配置 | 共用 ~/.claude/settings.json——这一条很关键,见第四节 | |
扩展自带一份 CLI 供聊天面板使用;但如果你还想在 VS Code 的集成终端里敲 claude,
仍然要单独装一次独立 CLI。这两件事是分开的。
其他 VS Code 分支(Cursor 之类)也能装同一个扩展,见第 4 篇。
这是最容易搞混、也最值得一次记牢的地方。
| 层 | 位置 | 干什么用 |
|---|---|---|
| 1 组织托管 | 系统目录(managed-settings.json / plist / 注册表) | 公司策略,下面几层改不动它 |
| 2 命令行参数 | 启动时传 | 临时压过配置文件 |
| 3 项目本地 | .claude/settings.local.json | 你自己在这个项目里的偏好,该进 gitignore |
| 4 项目共享 | .claude/settings.json | 团队共用,进 git |
| 5 用户全局 | ~/.claude/settings.json | 你所有项目的默认 |
关键三个键:model(默认模型)·
env(要注入的环境变量)· permissions(权限规则)。
两种行为不一样:permissions 是各层合并的,
而别的设置是高层压低层。所以你在项目层加一条 deny,
不会因为用户层没写就失效;但你在项目层写了 model,
用户层那个就不生效了。
拿不准当前生效的是哪一份,跑 /status 看。
权限规则是三个数组:allow(直接放行)·
ask(每次问)· deny(永不)。形状长这样:
新手最该先写的是 deny,而且只要两类:
| 拒 | 为什么 |
|---|---|
读密钥文件(.env、密钥目录) | 一旦进了上下文,它就可能被写进别处。这是最常见的泄漏路径 |
| 能把数据发出去的命令 | 读进来不可怕,读进来又发出去才可怕。两件事要分开挡 |
至于 allow——别急着堆。先用几天,把每天都在点「同意」的那几条固化进去就够了,
一开始就写一大串等于把闸门先拆了。
症状:你在 ~/.zshrc 里设好了变量,终端里 echo 得出来,
但编辑器里的扩展就是当作没设——照样弹登录、照样连默认端点。
原因不在配置,在于 GUI 启动的程序不继承登录 shell 的环境。
官方文档对这个情况的说法是:从终端用 code . 启动,让它继承你的环境变量。
更稳的办法:别靠环境变量。把要注入的东西写进 settings.json 的
env 块——那是文件,GUI 和终端都读得到,不受启动方式影响。
第 8 篇接中转时会再用到这条。
大部分设置改了会自动重载,但 model 和输出样式要重启才认。
「我明明改了怎么没变」十有八九是这个。
不要拿主仓库开局。挑一个满足三条的项目:在 git 里 · 有测试或至少能跑起来 · 坏了不影响别人。 第一条最重要——版本控制是你的撤销键,没有它,「让它自己改」就是在裸奔。
然后给一个有客观成败的任务:修一个能复现的 bug、给一个函数补测试、把某个报错弄消失。 有客观判据,它才能自己闭环——这正是第 1 篇说的那件事。
~/.claude/settings.json ·
.claude/settings.json · .claude/settings.local.json ·
组织托管层;键 model / env / permissions
(含 allow / ask / deny)。
优先级:托管 > 命令行 > 本地 > 项目 > 用户;权限合并、其余覆盖。官方设置文档,2026-08-21 核。anthropic.claude-code,要求 VS Code 1.94.0+,
也可从 Open VSX 安装;扩展与 CLI 共享 ~/.claude/settings.json。code . 启动以继承环境变量」这一情形。/status 确认。