很多人看 Claude Code,会下意识把它理解成一个已经定型的产品:
- 现在能用什么,就是它会什么
- help 里没出现的功能,大概率就不存在
- 被官方公开讲过的能力,才算真正能力边界
但看完这份最新源码后,我的结论正好相反。
Claude Code 现在最值得研究的,不是它已经公开了什么,而是它已经实现了多少“暂时不完全对外开放”的能力。
这些能力有的已经有完整命令入口,只是被隐藏; 有的已经有完整运行链路,只是被 feature flag 卡住; 有的已经有工具和 UI,只是被账号形态、组织策略或者构建版本限制; 还有一些则更像“半公开的内部功能”——源码里能看到骨架,甚至能看到完整 prompt、调度逻辑和任务模型,但普通用户暂时碰不到。
这说明一件很重要的事:
Claude Code 的演化方式,不是“功能想好了再写”,而是先把能力埋进 runtime,再通过 gating 慢慢放量。
如果你在做 Agent 产品,这种设计思路很值得抄。
一、先说结论:Claude Code 的很多“隐藏能力”并不是彩蛋,而是受控发布机制
从源码结构看,Claude Code 对“功能是否对用户可见”并不是简单地开关一个菜单,而是至少拆成了四层:
- 构建时裁剪:
feature('...') - 运行时灰度:GrowthBook / Statsig flag
- 账号/环境限制:OAuth、订阅形态、是否
claude.ai - 组织策略限制:policy allowlist
也就是说,Claude Code 并不是只有一个“公开版功能集”。
它实际上更像是一个多层能力底座:
- 一些能力存在于 ant/internal build
- 一些能力存在于 first-party web 形态
- 一些能力只对特定账号或订阅生效
- 一些能力即使技术上存在,也会被组织策略拦掉
这就解释了为什么你会在源码里看到很多“明明已经写完,但普通用户感知不到”的东西。
它们不是没做完,而是被刻意限制在某个发布面里。
二、最夸张的隐藏能力:/ultraplan 其实已经是“Claude Code on the Web + Opus + 远程执行”的高级工作流
如果让我选一个最能代表 Claude Code 内部野心的能力,我会选 /ultraplan。
在 commands/ultraplan.tsx 里,它不是一个普通的本地 slash command,而是一条非常完整的远程工作流:
- 启动 Claude Code on the web 会话
- 使用更强的模型做高级规划
- 异步轮询计划审批结果
- 用户可在 web 端批准计划
- 批准后可以直接在远端继续执行
- 最后把结果以 PR 或回传结果的形式落地
更关键的是,这个功能不是概念验证,而是已经有完整的产品语义:
- 有单独的 terms URL
- 有 session URL
- 有后台轮询
- 有状态机
- 有 stop / archive 逻辑
- 有“执行留在 web 端”与“传回本地”两条分支
这不是“模型帮你多想一步”,而是把复杂规划外包给一个远端、更强模型、更长时运行的 agent 环境。
而它为什么你现在大概率没在正式版本里明显见到?
因为它在命令定义里直接写了:只在特定构建目标里启用。isEnabled: () => process.env.USER_TYPE === 'ant' 这一类逻辑,已经把它和普通外部用户隔开了。
这透露出一个特别重要的产品判断:
Claude Code 已经不满足于“单 session、本地 terminal、单模型”这套框架了。
它在往“本地 IDE/CLI + 远程高算力 planning/execution plane”的方向长。
说白了,/ultraplan 背后不是一个命令,而是一条未来路线:
把最重的规划和多 Agent 协作,迁移到 Claude Code on the Web。
三、第二类隐藏能力:远程控制、远程会话、Web Setup,说明它在把 CLI 变成可远程接管的前端
另一组非常值得注意的能力,是跟 remote 有关的一整套命令和状态:
/remote-control(commands/bridge/index.ts)/session/remotealias/web-setup(commands/remote-setup/index.ts)
这一组能力连起来看,就不是“方便扫码登录”这么简单了。
它背后其实在做三件事:
1. 让 terminal 会话可以被远程接管
/remote-control 这个命令的描述很直接:
Connect this terminal for remote-control sessions
而且它不只是技术能力,还挂了组织策略判断:
- 先过 build-time feature gate
- 再过
isBridgeEnabled() - 再过
allow_remote_controlpolicy
这说明在 Claude Code 设计里,“远程接管本地 terminal”不是彩蛋,而是一个被认真治理的正式能力。
2. 让会话天然具备 session URL / QR code 这种跨端属性
/session 命令只有在 remote mode 下出现,功能是展示 remote session URL 和二维码。
这意味着 Claude Code 的会话模型已经不是“只活在当前 terminal 里”。
它已经在往一种更像云端会话对象的方向演化:
- 可以从本地进入
- 可以在 web 端继续看
- 可以通过二维码接续
- 可以跨设备接管
3. 把“Claude Code on the Web”当成正式的能力扩展平面
/web-setup 这个命令还额外挂了 GitHub 账号连接和 allow_remote_sessions policy。
这说明 Claude Code 并不是简单做了个 companion web UI。
它更像是在建一个第二执行面:
- 本地 CLI 负责即时交互和高频控制
- Web 负责远程运行、会话续接、长任务和 richer workflow
换句话说,CLI 只是入口,真正的 product surface 已经开始扩展到 web。
四、第三类隐藏能力:Voice Mode 不是简单的“还没开放”,而是被账号形态硬限制
/voice 这条线也很有意思。
在 commands/voice/index.ts 和 voice/voiceModeEnabled.ts 里,你能看到它不是一个简单的实验功能,而是一套已经比较完整的能力判断逻辑:
- 要有 build-time
VOICE_MODE - 要没有被 kill switch
tengu_amber_quartz_disabled关掉 - 要有 Anthropic OAuth token
- 而且必须是
claude.ai形态
源码里甚至写得很明白:
Voice mode 用的是 claude.ai 的 voice stream endpoint,不支持 API key、Bedrock、Vertex、Foundry。
这很关键。
它说明 Claude Code 的某些能力限制,不是因为“产品还没想好”,而是因为底层依赖的是 first-party 平台能力,而不是通用 API 能力。
这类能力天然就会出现“同一个 Claude Code,不同账号形态能力完全不同”的情况。
这背后是很典型的平台产品思路:
- 通用能力尽量走统一 agent runtime
- 高级体验能力绑定 first-party account / endpoint
所以 Voice Mode 这件事,真正值得看的不是“它开没开”,而是:
Claude Code 已经开始把一部分能力绑定到平台账户体系,而不是纯 CLI 软件本身。
五、第四类隐藏能力:很多命令其实已经存在,但 help 不会告诉你
源码里还有一类很有意思的东西:命令本身已经存在,但被 isHidden: true 明确藏起来。
比较典型的有:
rate-limit-options:源码注释直接写了“Hidden from help - only used internally”output-style:已经被废弃,要求用/config替代,但命令还留着heapdump:直接把 JS heap dump 到桌面,明显是诊断/内部支持向功能thinkback-play:作为think-back工作流的内部播放命令,不对用户公开展示session:只有进入 remote mode 才会显示
这类命令很值得注意,因为它们体现的是一种成熟 CLI 产品的演进策略:
先把内部操作本身做成标准命令,再决定是否放进 help、是否对普通用户暴露。
这样做的好处是:
- 内部流程不用额外维护一套特殊入口
- 自动化、测试、调试都统一走 command system
- 真要对外开放时,只要调整 gate 和 help 可见性
也就是说,Claude Code 的“隐藏命令”不是乱七八糟的后门,而更像是它的内部 API surface。
六、第五类隐藏能力:有些命令甚至只剩“stub”,说明功能位已经预留好了
更有意思的是,源码里还有一批命令连实现都不打算在当前构建里带上,直接变成 stub:
shareautofix-prctx_vizteleportgood-claudeissuemock-limitsreset-limitsbackfill-sessionsdebug-tool-call
这些文件基本都长这样:
isEnabled: () => falseisHidden: truename: 'stub'
这特别像什么?
像一个产品团队已经把命令空间、调用约定和模块位置都规划好了,但当前构建不打算真正交付这些能力,于是用 stub 占位。
这种做法的意义不在于“现在能不能用”,而在于它暴露了内部 roadmap 的轮廓。
比如从这些名字你大概就能猜到一些方向:
autofix-pr:自动修 PR / review issuectx_viz:上下文可视化teleport:跨环境/跨端转移任务share:会话或结果分享reset-limits/mock-limits:额度和限流测试工具debug-tool-call:工具调用调试
这意味着 Claude Code 的内部版本很可能已经长期在把“命令空间”当成未来产品路线图的一部分来维护。
七、第六类隐藏能力:不是命令被藏,而是工具已经长出来了
如果你只盯着 slash command,会低估 Claude Code 已经长出来的内部能力。
因为更深一层的东西,其实在 tool 层。
例如在 tools/ 目录里,你能看到一批很“系统级”的工具:
TeamCreateToolTaskCreateTool/TaskUpdateTool/TaskGetToolScheduleCronToolEnterPlanModeTool/ExitPlanModeToolSendMessageTool
这说明 Claude Code 的内部世界,已经不是“模型 + Bash + 文件读写”这么简单。
它已经长成了一套真正的 agent runtime:
- 可以建 task list
- 可以建多 agent team
- 可以发消息给别的 agent
- 可以进入/退出 plan 状态
- 可以调度 cron 任务
而且这些工具并不是全都给最终用户直接显式暴露。
例如 TaskCreateTool、TeamCreateTool 这种东西,更像是agent 的内部操作系统接口。
用户未必需要直接知道它们,但 Claude Code 自己已经在用它们组织更复杂的工作流。
这点非常关键。
因为这意味着 Claude Code 正在从一个“会调用 shell 的助手”,变成一个有:
- 状态
- 任务
- 队友
- 调度器
- 权限系统
的真正 Agent 平台。
八、第七类隐藏能力:自动记忆、团队记忆、Cron 调度,都不是临时想法,而是长期系统能力
看 memdir/memdir.ts 和 tools/ScheduleCronTool/prompt.ts,你会发现另一个非常强的信号:
Claude Code 已经不是把“记忆”和“定时任务”当附加插件,而是在把它们系统化。
1. Auto memory / team memory 已经是正式机制
源码里可以看到:
- auto memory 可以被设置、环境变量、feature gate 控制
- team memory 建立在 auto memory 之上
- prompt 里甚至会指导模型怎么搜索历史记忆
- 某些模式下会维护 daily log / unified memory prompt
这不是“RAG 小补丁”,而是在认真做长期上下文基础设施。
2. Cron 调度已经是明确的 agent trigger 能力
ScheduleCronTool 背后对应的其实是一套 scheduler 系统。
而且它还区分:
- session-only cron
- durable cron
.claude/scheduled_tasks.json持久化- recurring / one-shot 任务
- 自动 jitter 和过期策略
这说明 Claude Code 已经在产品层认真考虑:
Agent 不一定只在你打字时工作,它也可以在未来某个时刻被重新唤起。
这一步一旦彻底放开,产品形态会立刻变化。
因为它不再只是“交互式 coding assistant”,而会变成一个真正的持续运行型 agent。
九、最值得学的设计点:Claude Code 不是简单把功能藏起来,而是在做“可控发布架构”
如果把这些隐藏能力放在一起看,你会发现 Claude Code 真正厉害的,不是藏了多少彩蛋,而是它的发布方式非常工程化。
它并不是:
- 功能做完了,手动决定上不上菜单
而是:
- 先把功能做成 command / tool / state machine
- 再通过 build flag 裁剪
- 再通过 feature gate 灰度
- 再通过 account type 判断
- 再通过 org policy 限制
- 最后再决定 help 是否展示
这其实是一套很成熟的 Agent 产品能力治理模型。
因为 Agent 功能的风险,比普通软件大得多:
- 可能牵涉写文件
- 可能牵涉远程执行
- 可能牵涉 OAuth 和组织数据
- 可能牵涉长任务和自动调度
- 可能牵涉多 Agent 协作
这种情况下,最危险的做法就是:
功能要么全开,要么全关。
Claude Code 选择的是另一条路:
先把系统能力完整建出来,再用层层 gate 管理“谁、在什么环境里、以什么方式”能触发它。
这会让产品演进非常平滑。
十、最后的判断:Claude Code 公开展现出来的,只是它当前“愿意让你看见”的那一层
所以如果你问我,这份源码最有意思的点是什么?
不是 /btw 很妙,也不是 Plan Mode 做得像状态机,也不只是 Auto Mode 有分类器。
而是你会发现:
Claude Code 现在对外呈现出来的能力边界,和它内部已经长出来的能力边界,并不是一回事。
它内部已经明显存在这些方向:
- 更强的远程规划与执行(
/ultraplan) - CLI 与 web 的双执行面
- 远程控制与会话接续
- 账号绑定的高级体验能力(如 voice)
- 隐藏命令与内部操作面
- 多 Agent 团队与任务系统
- 自动记忆与团队记忆
- 定时调度与持续运行 agent
从产品视角看,这意味着 Claude Code 不是一个“完成态工具”。
它更像是一个正在逐步解锁能力层的 Agent OS。
真正值得关注的问题,不再是:
Claude Code 今天能做什么?
而是:
它已经把哪些能力写进了 runtime,只是在等一个合适的发布窗口?
这两者的差别,非常大。
而且很可能会决定未来一年 Agent 产品竞争的核心分水岭。
评论