故障排除指南
本节介绍Claude Code常见问题的诊断方法和解决方案。
诊断命令
/doctor
运行完整的系统诊断:
bash
claude /doctor输出示例:
Claude Code 诊断报告
✓ Node.js: v20.10.0
✓ Git: 2.43.0
✓ Claude认证: 已登录
✓ MCP服务器: 3个已配置
- github: ✓ 已连接
- postgres: ✗ 连接失败
- puppeteer: ✓ 已连接
⚠ API配额: 本月已使用80%
发现1个问题:
- postgres MCP服务器无法连接
建议: 检查DATABASE_URL环境变量查看日志
bash
# 启用详细日志
CLAUDE_DEBUG=1 claude
# 保存日志
claude 2>&1 | tee claude-debug.log常见问题
问题1:安装失败
症状:
npm ERR! EACCES permission denied解决方案:
bash
# 方案1:使用sudo
sudo npm install -g @anthropic-ai/claude-code
# 方案2:修复npm权限
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code问题2:认证失败
症状:
Error: Authentication failed解决方案:
bash
# 重新登录
claude logout
claude login
# 或使用API Key
export ANTHROPIC_API_KEY=your-api-key
claude问题3:MCP服务器连接失败
症状:
MCP server "github" failed to connect诊断步骤:
bash
# 1. 启用MCP调试
claude --mcp-debug
# 2. 检查MCP配置
claude mcp get github
# 3. 检查环境变量
echo $GITHUB_TOKEN
# 4. 测试npx命令
npx @modelcontextprotocol/server-github常见原因:
- 环境变量未设置
- API Token过期
- 网络连接问题
- npx缓存问题
解决方案:
bash
# 清除npx缓存
npx clear-npx-cache
# 重新配置MCP
claude mcp remove github
claude mcp add github问题4:上下文溢出
症状:
Context window exceeded解决方案:
bash
# 压缩上下文
/compact
# 或清除会话
/clear
# 开始新会话
claude --new-session问题5:命令执行超时
症状:
Command timed out after 30s解决方案:
bash
# 增加超时时间
export MCP_TIMEOUT=120
claude
# 或在配置中设置
claude config set timeout 120问题6:文件权限错误
症状:
Error: EACCES: permission denied, open '/path/to/file'解决方案:
bash
# 检查文件权限
ls -la /path/to/file
# 修改权限
chmod 644 /path/to/file
# 或使用正确的用户运行问题7:Token不足
症状:
Rate limit exceeded解决方案:
bash
# 检查使用情况
/cost
# 等待配额恢复
# 或升级订阅计划问题8:Hooks不生效
症状: Hooks配置后没有执行
诊断步骤:
bash
# 检查Hooks配置
claude /hooks
# 检查配置文件
cat .claude/settings.json | grep hooks
# 测试Hook命令
# 手动执行配置中的命令常见原因:
- JSON格式错误
- 命令路径问题
- 权限问题
解决方案:
bash
# 验证JSON格式
python -m json.tool .claude/settings.json
# 检查命令可执行
which prettier
# 添加调试输出
{
"hooks": {
"PostToolUse": [{
"hooks": [{
"type": "command",
"command": "echo 'Hook executed' >> /tmp/claude-hook.log && prettier --write \"$CLAUDE_FILE_PATHS\""
}]
}]
}
}问题9:Windows特定问题
症状:
'claude' is not recognized as an internal or external command解决方案:
powershell
# 检查PATH
$env:PATH
# 添加到PATH
$env:PATH += ";C:\Users\$env:USERNAME\AppData\Roaming\npm"
# 永久添加
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Users\$env:USERNAME\AppData\Roaming\npm", "User")问题10:网络问题
症状:
Network error
Connection refused解决方案:
bash
# 检查网络连接
curl -I https://api.anthropic.com
# 检查代理设置
echo $HTTP_PROXY
echo $HTTPS_PROXY
# 配置代理
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
# 或禁用代理
unset HTTP_PROXY HTTPS_PROXY性能问题
响应缓慢
可能原因:
- 网络延迟
- 上下文过长
- MCP服务器响应慢
解决方案:
bash
# 1. 压缩上下文
/compact
# 2. 检查MCP状态
claude --mcp-debug
# 3. 使用更快的模型
claude -m haiku内存占用高
解决方案:
bash
# 清除会话历史
rm -rf ~/.claude/sessions/*
# 重启Claude
claude --new-session配置重置
完全重置
bash
# 备份配置
cp -r ~/.claude ~/.claude-backup
# 删除所有配置
rm -rf ~/.claude
# 重新登录
claude login仅重置权限
bash
# 编辑权限配置
# 删除 permissions 部分
vim ~/.claude/settings.json获取帮助
内置帮助
bash
/help查看文档
bash
# 在浏览器中打开文档
claude docs报告Bug
bash
/bug
# 或在GitHub提Issue
# https://github.com/anthropics/claude-code/issues社区支持
- GitHub Discussions: github.com/anthropics/claude-code/discussions
- Discord社区
- Twitter: @AnthropicAI
预防措施
定期维护
bash
# 更新Claude Code
npm update -g @anthropic-ai/claude-code
# 清理旧会话
rm -rf ~/.claude/sessions/old-*
# 检查配置
claude /doctor备份配置
bash
# 备份重要配置
cp ~/.claude/settings.json ~/.claude/settings.json.bak
cp .claude/settings.json .claude/settings.json.bak监控使用
bash
# 定期检查成本
/cost
# 设置预算提醒
claude config set budgetAlert 50 # 50美元时提醒小结
遇到问题时:
- 先运行
/doctor诊断 - 启用调试模式查看详细日志
- 查看本文档的常见问题部分
- 必要时重置配置或重新安装