REPL 模式:内部员工(Anthropic 用户)专属工作模式

src/tools/REPLTool/constants.ts 定义了一个"REPL 模式",这是内部员工(Anthropic ant 用户)专属的工作模式:

// src/tools/REPLTool/constants.ts
export function isReplModeEnabled(): boolean {
  if (isEnvDefinedFalsy(process.env.CLAUDE_CODE_REPL)) return false
  if (isEnvTruthy(process.env.CLAUDE_REPL_MODE)) return true
  return (
    process.env.USER_TYPE === 'ant' &&
    process.env.CLAUDE_CODE_ENTRYPOINT === 'cli'
  )
}

export const REPL_ONLY_TOOLS = new Set([
  FILE_READ_TOOL_NAME,
  FILE_WRITE_TOOL_NAME,
  FILE_EDIT_TOOL_NAME,
  GLOB_TOOL_NAME,
  GREP_TOOL_NAME,
  BASH_TOOL_NAME,
  NOTEBOOK_EDIT_TOOL_NAME,
  AGENT_TOOL_NAME,
])

REPL 模式开启时,这些工具从 Claude 的直接工具列表里消失,Claude 只能通过 REPL 工具间接调用它们。REPL 工具把多个操作批量打包,减少了 API 往返次数。SDK 入口(sdk-ts、sdk-py)永远不开启 REPL 模式,因为 SDK 用户需要直接调用这些工具做自动化脚本。