12 种自定义 Claude Code 的方法

Claude Code 团队的 Boris Cherny 整理了一个关于 Claude Code 自定义能力的 thread。作为一个每天用 AI 编程工具的人,我觉得这种深度可配置性正是区分「勉强能用」和「爱不释手」的关键。完整整理分享在这里。


原文来源:Boris Cherny (@bcherny)

回顾工程师们喜欢 Claude Code 的原因,一个突出的点是它的可定制性:hooks、plugins、LSPs、MCPs、skills、effort 等级、自定义 agent、状态栏、输出风格等等。

每个工程师使用工具的方式都不同。我们从零开始构建 Claude Code,不仅要有优秀的默认设置,还要具备极强的可定制性。这是开发者爱上这个产品的原因,也是 Claude Code 增长持续加速的原因。

以下是 12 种自定义你的 Claude 的方法:

1. 配置终端

  • 主题:运行 /config 设置亮色/暗色模式
  • 通知:为 iTerm2 启用通知,或使用自定义通知 hook
  • 换行:如果在 IDE 终端、Apple Terminal、Warp 或 Alacritty 中使用,运行 /terminal-setup 启用 shift+enter 换行
  • Vim 模式:运行 /vim

2. 调整 Effort 等级

运行 /model 选择偏好的 effort 等级:

  • Low — 更少 token,更快响应
  • Medium — 平衡模式
  • High — 更多 token,更强智能

Boris 本人所有场景都用 High。

3. 安装 Plugins、MCPs 和 Skills

Plugins 支持安装 LSPs(现已覆盖所有主要语言)、MCPs、skills、agents 和自定义 hooks。

可以从 Anthropic 官方插件市场安装,也可以为公司创建私有市场。将 settings.json 提交到代码仓库,即可为团队自动添加市场。

运行 /plugin 开始。

4. 创建自定义 Agent

.claude/agents 目录下放入 .md 文件即可。每个 agent 可以有自定义名称、颜色、工具集、预授权/预禁用的工具、权限模式和模型。

隐藏功能:可以通过 settings.json"agent" 字段或 --agent 参数设置主对话的默认 agent。

运行 /agents 开始。

5. 预授权常用权限

Claude Code 使用了复杂的权限系统,结合提示注入检测、静态分析、沙箱和人工审核。

运行 /permissions 添加允许和阻止列表。支持完整的通配符语法——试试 "Bash(bun run *)""Edit(/docs/**)"

将这些配置提交到团队的 settings.json

6. 启用沙箱

选择启用 Claude Code 的开源沙箱运行时,在提升安全性的同时减少权限弹窗。

运行 /sandbox 启用。支持文件和网络隔离。Windows 支持即将推出。

7. 添加状态栏

自定义状态栏显示在输入框正下方——可以展示模型、目录、剩余上下文、费用等任何你想看到的信息。

Claude Code 团队每个人的状态栏都不一样。使用 /statusline 开始——它可以根据你的 .bashrc/.zshrc 自动生成。

8. 自定义快捷键

Claude Code 中的每个快捷键都可以自定义。运行 /keybindings 重新映射任意按键。设置实时生效,立即体验。

9. 设置 Hooks

Hooks 让你确定性地介入 Claude 的生命周期:

  • 自动将权限请求路由到 Slack 或 Opus
  • 在 turn 结束时推动 Claude 继续执行(甚至可以启动一个 agent 来决定是否继续)
  • 对工具调用进行预处理或后处理,如添加自定义日志

让 Claude 帮你添加一个 hook 即可开始。

10. 自定义 Spinner 动词

小细节让 CC 充满个性。自定义 spinner 动词,替换默认列表。将 settings.json 提交到版本控制,与团队共享。

11. 使用输出风格

运行 /config 设置输出风格:

  • “Explanatory” — 适合熟悉新代码库时使用
  • “Learning” — 让 Claude 引导你完成代码修改
  • 自定义风格 — 按你喜欢的方式调整 Claude 的语气

12. 一切皆可自定义!

settings.json 提交到 git,让团队共同受益。支持为代码库、子目录、个人或企业级策略进行配置。

Claude Code 支持 37 个设置项84 个环境变量(使用 settings.json"env" 字段避免包装脚本)。

如果这篇文章对你有帮助,欢迎请我喝杯咖啡,支持我继续创作更多内容。

Buy me a coffee