Claude Code 使用教程:2026 安装、登录、权限与第一个项目任务
如果你第一次接触 Claude Code,最容易卡在三个地方:安装命令选错、没有理解权限提示、把“让它写代码”误当成完整的验收流程。Claude Code 是运行在终端中的开发工具,也有 VS Code、JetBrains、桌面端和 Web 入口。本文只讲最稳定的入门路径:安装 CLI,登录,进入一个真实项目,先让它读懂仓库,再让它做一个范围明确的小改动,最后检查差异和测试结果。
本文依据 Anthropic 当前 Claude Code 官方文档整理。官方文档会随版本更新,命令行输出、模型名称和账号可用功能可能变化;遇到本机版本与本文不同,以 claude --help 和官方文档为准。
Claude Code 适合做什么
Claude Code 可以读取项目文件、解释代码、编辑文件、执行命令,并通过工具和 MCP 连接外部系统。它更像一个在你的工作区内协作的开发助手,而不是只在聊天窗口回答问题的问答机器人。它能帮你定位一个 bug、补测试、重构模块、检查 Git diff、解释构建失败,也能把一次性的命令串成可重复的工作流。
不过,工具权限决定了它能做什么。一个只允许读取文件的会话,不能替你修改代码;一个允许执行命令的会话,可能会运行构建、测试或其他 shell 命令。因此,第一次使用时应从小任务开始,先观察它要读取什么、准备执行什么,再决定是否批准。
| 使用场景 | 适合的起手任务 | 验收方式 |
|---|---|---|
| 熟悉旧项目 | 总结目录、入口和测试命令 | 与 README、package.json 对照 |
| 修复 Bug | 复现错误并定位最小改动 | 重跑复现步骤和相关测试 |
| 新增功能 | 先写计划,再分步实现 | 看 diff、运行测试、检查边界 |
| 代码审查 | 只读检查安全、错误处理和回归风险 | 按文件和行号复核 |
| 自动化 | 用 claude -p 处理日志、批量文件或 CI 任务 | 保存输出并设置失败条件 |
第一步:安装 Claude Code
官方当前推荐使用原生安装方式。macOS、Linux 和 WSL 可以在终端执行:
curl -fsSL https://claude.ai/install.sh | bashWindows PowerShell 使用:
irm https://claude.ai/install.ps1 | iexWindows CMD 使用:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd安装器完成后,关闭并重新打开终端,再运行:
claude --version能打印版本号,说明命令已经在 PATH 中。若提示找不到 claude,先确认是否打开了新终端,再检查安装目录是否加入 PATH。不要为了绕过 PATH 问题把多个旧版本目录手动塞进环境变量;先确定当前到底调用的是哪个二进制文件。
官方同时提供 Homebrew、WinGet、Linux 包管理器和 npm 等安装路径。这些方式的更新行为可能不同:原生安装可以自动检查更新,而 Homebrew、WinGet 和部分 Linux 包管理器通常需要手动更新。团队环境应统一安装方式,避免同一仓库里出现不同 CLI 行为。
第二步:登录并确认账号
在项目目录中运行:
cd /path/to/your-project
claude第一次启动通常会出现登录流程。按照终端提示打开浏览器完成授权,再回到终端。若设置了 ANTHROPIC_API_KEY,并在 Claude Code 询问时批准使用该 Key,CLI 可以跳过浏览器登录。第三方云环境还可能使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry,具体认证方式应按对应 provider 的官方文档配置。
登录后,不要立即让它重写整个项目。先输入一个只读任务:
请只阅读仓库,不修改文件。说明项目入口、主要目录、运行测试的命令,以及你认为最需要先确认的两个风险。这个任务可以验证三件事:Claude Code 是否进入了正确目录,是否能看到项目文件,以及它是否会把猜测和已确认事实区分开。
第三步:让项目上下文变得可读
项目根目录可以放 CLAUDE.md,用于记录架构、代码风格、常用命令和验收要求。官方文档把它视为上下文说明,不是强制执行的安全策略。因此,CLAUDE.md 应写具体、能验证的规则,例如:
# 项目说明
- Node.js 项目,使用 pnpm,入口在 src/server.ts。
- 修改 API 后运行 pnpm test 和 pnpm lint。
- API handler 位于 src/api/handlers/,不要在路由文件中直接访问数据库。
- 修改完成后先展示 git diff,再说明测试是否通过。
- 不要读取或输出 .env、.env.* 和生产凭证。规则不要写成“代码要优雅”“注意安全”这种无法检查的句子。大项目可以把局部规则放到 .claude/rules/,只在匹配的路径工作时加载,减少每次会话的上下文成本。官方还说明,项目已有 AGENTS.md 时,Claude Code 可以读取它;如果团队已经维护了这类文件,先检查加载行为,再决定是否复制一份内容。
第四步:理解权限提示
Claude Code 的权限提示不是装饰。它们告诉你即将发生的动作,例如读取文件、编辑文件、执行 Bash 命令或访问外部工具。面对一个命令时,先看命令本身、工作目录和影响范围。npm test 与 rm -rf 的风险级别不同,读取 src/ 与读取 .env 的敏感性也不同。
用户级设置通常放在 ~/.claude/settings.json;项目共享设置放在 .claude/settings.json,可以提交给团队;项目本地设置放在 .claude/settings.local.json,适合个人测试,通常应加入 .gitignore。Windows 下 ~/.claude 对应用户目录下的 .claude。组织还可以部署托管设置,统一管理权限、Hooks 和环境变量。
一个更稳妥的权限策略是:允许明确的 lint 和 test 命令,拒绝读取密钥文件,其他动作继续询问。例如官方文档展示了类似下面的设置结构:
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": ["Bash(npm run lint)", "Bash(npm run test *)"],
"deny": ["Read(./.env)", "Read(./.env.*)"]
}
}这是权限规则示例,不应机械复制到所有项目。命令模式、目录和团队要求要按实际仓库调整。修改设置后,可以在 Claude Code 中使用 /status 检查当前会话状态。
第五步:用一个小任务完成闭环
第一次修改任务可以这样写:
请为用户注册接口补充邮箱格式校验。
先阅读相关 handler、schema 和现有测试,列出计划,不要修改文件。
得到确认后再实现。完成后运行最相关的测试,并展示 git diff。
不要读取 .env,也不要修改数据库迁移文件。这段提示包含范围、顺序、限制和验收标准。Claude Code 可能会先提出计划,也可能直接开始分析,取决于当前模式和权限。你需要关注它是否真的遵守了“先计划、后修改”。完成后检查:
- 改动是否只落在预期文件。
- 校验失败时的响应格式是否与项目已有约定一致。
- 正常输入、空值、边界长度和 Unicode 邮箱是否有合理处理。
- 测试是否真正覆盖新增分支。
git diff是否包含意外格式化或删除。
如果测试失败,让 Claude Code 解释失败原因并给出下一步,不要直接让它“把所有测试修到通过”。后者可能掩盖原有问题。
终端中的高频操作
交互会话中可以使用 /help 查看命令,使用 /config 调整部分界面和会话选项,使用 /status 查看状态。需要脚本化时,官方文档展示了 claude -p 的非交互用法,例如把日志管道给 Claude Code,或在 CI 中分析变更:
tail -200 app.log | claude -p "只报告异常模式,并给出日志行号"
git diff main --name-only | claude -p "检查这些文件的安全风险,只输出风险和文件名"非交互任务要明确输入、输出和失败条件。涉及写文件、提交 PR 或发送外部消息时,先在测试项目验证,并让脚本保留可审计的输出。
常见问题 FAQ
Claude Code 必须在 Git 仓库里运行吗?
不一定。它可以在普通项目目录中工作,但 Git 仓库提供了更清晰的 diff、分支和回滚边界。涉及修改时,建议先建立可恢复的版本。
为什么安装后仍然提示 claude 找不到?
先关闭旧终端并重新打开,再运行 claude --version。如果仍失败,检查安装目录是否在 PATH,或使用系统包管理器的更新说明。
CLAUDE.md 能阻止危险命令吗?
不能把它当作强制安全策略。危险操作应使用权限规则、托管设置和人工审批限制。
第一次任务应该让它直接改代码吗?
建议先做只读分析,再做一个范围小、容易回滚的修改,并要求展示 diff 和测试结果。
Claude Code 会自动读取 .env 吗?
是否读取取决于任务、工具和权限。不要依赖提示词保护密钥,使用权限规则拒绝读取敏感文件,并避免把密钥放入输出。