是什么
debug-your-config 提供系统化的配置排查方法,解决 CLAUDE.md、settings、hooks、MCP server 或 skills 不生效的问题。核心思路:先确认文件是否加载,再确认是否被覆盖,最后检查内容是否正确。
核心机制
诊断命令速查
| 命令 | 显示内容 |
|---|---|
/context | 当前 session 的完整 context:system prompt、memory、skills、MCP 工具、对话 |
/memory | 加载的 CLAUDE.md 和 rules 文件,auto-memory 条目 |
/hooks | 当前 session 的 hook 配置 |
/mcp | MCP server 连接状态和工具列表 |
/permissions | 当前生效的 allow/deny 规则 |
/doctor | 配置文件验证:无效 key、schema 错误、安装健康检查 |
/status | 活跃的 settings 来源,是否有 managed settings 生效 |
/debug [issue] | 启用 debug 日志,让 Claude 诊断问题 |
Settings 不生效排查
- 运行
/status确认哪些 settings 来源活跃 - 运行
/doctor检查 schema 错误和无效 key - 检查 scope 优先级:Managed > Local > Project > User
- 检查环境变量是否覆盖了 settings 值
CLAUDE.md 不生效排查
- 运行
/memory确认文件是否加载 - 子目录的 CLAUDE.md 在 Claude 读取该目录文件时按需加载,不在 session 开始时加载
- 文件加载但指令不被遵守:检查指令是否模糊、是否有冲突指令、文件是否过长
MCP Server 不生效排查
- 运行
/mcp查看连接状态 - 项目级
.mcp.json中的 server 需要一次性批准 - 相对路径问题:
command和args中的相对路径相对于 Claude Code 启动目录解析 - 连接成功但工具数为 0:选择 Reconnect;仍为 0 则运行
claude --debug mcp
Hooks 不生效排查
- 运行
/hooks确认 hook 是否注册 - hook 必须在 settings 文件的
"hooks"key 下,不是独立文件 matcher字段用|分隔多个工具名(如"Edit|Write"),不是数组- 运行
claude --debug hooks查看实时 hook 评估日志
隔离测试
CLAUDE_CONFIG_DIR=/tmp/empty-config claude从空目录启动,绕过所有 ~/.claude 配置,排除配置干扰。
关键细节
- CLAUDE.md 和 permissions 解决不同问题:CLAUDE.md 是指导,permissions 是强制边界
/doctor报告问题后按f让 Claude 自动修复- settings 文件修改后有短暂文件稳定延迟,几秒后
/hooks才显示新配置
与其他概念的关联
- settings - settings scope 和优先级
- permissions - 权限规则配置
实践要点
- 排查顺序:先
/context确认加载,再/status确认来源,再/doctor检查错误 - hook matcher 是最常见的配置错误:拼写错误会静默失败
- 隔离测试是终极手段,可以快速确认是配置问题还是其他问题