命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
以屏幕阅读器友好方式输出:纯文本、无装饰边框和动画
--ax-screen-readerclaude --ax-screen-reader--ax-screen-reader 是 Claude Code CLI 的启动 flag,开启屏幕阅读器模式:把终端界面从带边框、动画、原地重绘的可视化 UI,替换成屏幕阅读器(VoiceOver、NVDA 等)能顺序朗读的纯文本、逐行输出。开启后,发言会带上 you: / claude: / thinking: / tool: / tool error: / error: / warning: / Permission Required: / Cost: 等标签,方便屏幕阅读器识别段落,也方便在终端回滚区(scrollback)里搜索定位。
该模式仅作用于 终端交互界面,不影响 VS Code 扩展的聊天面板(官方文档标注:v2.1.236 起 VS Code 扩展会在聊天面板中自行向屏幕阅读器播报对话活动,无需此设置)。
屏幕阅读器模式是 opt-in(需主动开启),默认关闭;CLI 参考中的示例用法为 claude --ax-screen-reader,不带参数。官方文档标注该功能需要 Claude Code v2.1.181 或更高版本。
claude --ax-screen-reader
开启后,Claude Code 打印的第一行会确认生效方式,三选一:
[Screen Reader Mode: on via flag]
[Screen Reader Mode: on via env]
[Screen Reader Mode: on via settings]
等价的环境变量与 settings.json 字段见下表。
tui 设置(settings.json)冲突时,--ax-screen-reader 强制使用经典渲染器,忽略 tui 设置。-p / headless)不产生额外效果:-p 模式本来就已输出纯文本,官方文档明确说明屏幕阅读器模式不改变非交互模式的行为。claude attach 或 agent view)时,即使开启了此 flag,附加会话仍会进入终端的备用屏幕(alternate screen)、以全屏方式渲染——这是官方文档列出的已知限制,与其他被 attach 的会话行为一致。| flag | env | settings.json |
|---|---|---|
--ax-screen-reader(单次会话生效) | CLAUDE_AX_SCREEN_READER=1(该 shell 启动的所有会话生效) | "axScreenReader": true(机器上所有会话生效,含 VS Code 集成终端) |
三者叠加时的优先级(官方文档明确写明):flag > 环境变量 > settings 设置。
若将 CLAUDE_AX_SCREEN_READER 设为 0,即便 axScreenReader 设置为 true,模式也会保持关闭。
相关联动的辅助功能配置(均来自官方文档 accessibility 页):
| 配置 | 类型 | 作用 |
|---|---|---|
CLAUDE_AX_STARTUP_QUIET_MS | 环境变量 | 启动确认行打印后、绘制首个提示符前的等待时长(默认等待 3 秒),需 v2.1.217+ |
CLAUDE_AX_PREPARK_MS | 环境变量 | 每次写入新行/变更行前,光标归位到行首后的等待时长(默认 50 毫秒),需 v2.1.233+ |
CLAUDE_CODE_ACCESSIBILITY | 环境变量 | 供屏幕放大镜(如 macOS Zoom)使用的常驻可见光标,与屏幕阅读器模式是两回事 |
prefersReducedMotion | 设置 | 减少/关闭 spinner、shimmer 等动画 |
theme | 设置 | 配色主题,含色盲友好的 dark-daltonized / light-daltonized |
| 约束 | 原因 |
|---|---|
| 需要 Claude Code v2.1.181 及以上 | 官方 CLI 文档标注的版本门槛 |
| 不会自动检测屏幕阅读器并开启 | 官方文档"已知限制"明确列出:必须手动开启,不会感知系统是否在运行屏幕阅读器 |
attach 到后台会话仍全屏渲染 | 附加会话统一走终端 alternate screen,不受此 flag 影响 |
仅通过 Shift+Tab 切换权限模式时才会播报 | 用命令等其他方式进入 plan mode 等权限模式不会有播报 |
| 成本(Cost)只在退出汇总时播报一次 | 不是按轮次播报 |
对 -p(非交互)模式无效果 | 非交互模式本身已是纯文本输出 |
axScreenReader。如果发现 flag 明明没传却"自动"开启了屏幕阅读器模式,很可能是 shell profile 里留有 CLAUDE_AX_SCREEN_READER=1,或者是全局 settings 里 axScreenReader: true。axScreenReader 并关闭 prefersReducedMotion、spinnerTipsEnabled、showTurnDuration、terminalProgressBarEnabled 等所有相关设置,生成过程中的耗时/token 计数指示器仍会每秒左右刷新一次,被屏幕阅读器逐次朗读,产生持续"滴答"式播报干扰。claude attach 或从 agent view 附加进去,该会话会切换到终端的 alternate screen 全屏渲染,不再是线性纯文本;退出方法是在空提示符上按左箭头,或在有对话框获得焦点时按 Ctrl+Z。