命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
设置终端UI渲染器并重启会话
/tui [default|fullscreen]/tui 是 Claude Code 会话内的 slash 命令,用于切换终端 UI 渲染模式并重启当前会话。渲染模式分两种:
vim/htop),消除刷新闪烁,保持长对话内存平稳,并启用鼠标支持。fullscreen 渲染目前是 research preview 阶段,要求 Claude Code v2.1.89 或更高版本。在 v2.1.110 之前的版本上启用 fullscreen 须通过环境变量 CLAUDE_CODE_NO_FLICKER=1(官方原文:“set CLAUDE_CODE_NO_FLICKER=1 on versions before v2.1.110”)。
/tui
不带参数时,打印当前活动的渲染器名称,不做任何修改。
/tui fullscreen
CLI 将 tui 偏好写入 ~/.claude/settings.json,然后重启进程(relaunch)——对话内容完整保留,无需重头开始。重启后可见:
Ctrl+Home / Ctrl+End 跳到对话首尾Ctrl+o 进入 transcript 模式,再按 / 搜索对话内容/tui default
关闭 fullscreen,恢复终端原生 scrollback(Cmd+f、tmux copy mode 重新可用)。
CLAUDE_CODE_NO_FLICKER=1 claude
与 /tui fullscreen 效果等价。/tui 会在 relaunch 时清除此环境变量,改由写入 settings 的方式持久化,二者不冲突。
运行 /tui fullscreen 或 /tui default 后,CLI 会将选择写入:
~/.claude/settings.json
对应字段:
{
"tui": "fullscreen"
}
或
{
"tui": "default"
}
手动编辑此文件后通常需重启 Claude Code 才能生效(官方仅文档化 /tui 命令保存并 relaunch 的行为,未覆盖手动编辑场景;据通用经验手动改动在下次启动时生效,建议直接用 /tui 命令触发 relaunch)。
相关环境变量:
| 变量 | 作用 |
|---|---|
CLAUDE_CODE_NO_FLICKER=1 | 启用 fullscreen(等价于 tui: "fullscreen") |
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 | 强制使用 classic 渲染器,无论 settings 怎么写 |
CLAUDE_CODE_DISABLE_MOUSE=1 | 保留 flicker-free 渲染,但关闭整个鼠标捕获(点击、拖选、hover、滚轮全部交回终端) |
CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1 | v2.1.195 新增:仅禁用 fullscreen 模式下的鼠标点击 / 拖选 / hover,但保留滚轮 scroll(官方原文:"Added CLAUDE_CODE_DISABLE_MOUSE_CLICKS to disable mouse click/drag/hover in fullscreen mode while keeping wheel scroll")。与 CLAUDE_CODE_DISABLE_MOUSE(全关)的区别:后者连滚轮一起关,前者只关交互、留滚动 |
CLAUDE_CODE_SCROLL_SPEED=<值> | fullscreen 模式下鼠标滚轮速度倍率;官方原文接受 1–20,以及小于 1 的小数(如 0.5,用于放慢已被加速的触控板/滚轮) |
| 约束 | 原因 |
|---|---|
| fullscreen 需要 v2.1.89+ | 该功能在此版本引入 |
| v2.1.110 之前启用 fullscreen 须用环境变量 | 官方原文:在 v2.1.110 之前的版本上设 CLAUDE_CODE_NO_FLICKER=1 |
background session(agent view / claude attach)始终使用 fullscreen | classic 渲染器在 alternate screen 场景下无 scrollback 和鼠标支持,tui 设置和 CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN 对 background session 无效 |
iTerm2 的 tmux 集成模式(tmux -CC)不兼容 fullscreen | 该模式下 alternate screen buffer 和 mouse tracking 无法正常工作 |
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 优先级高于 settings | 设置后无论 tui 字段值是什么,始终走 classic 渲染 |
| 方式 | 作用域 | 是否持久 | 需重启 |
|---|---|---|---|
/tui fullscreen | 当前用户全局 | 是(写入 settings.json) | 是(relaunch,对话保留) |
/tui default | 当前用户全局 | 是(写入 settings.json) | 是(relaunch,对话保留) |
CLAUDE_CODE_NO_FLICKER=1 | 当次启动 | 否 | 否(启动时指定) |
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 | 当次启动 | 否 | 否,且覆盖所有 settings |
/tui fullscreen 解决逐 token 刷新引起的屏幕跳动问题/tui default 确认是否渲染器引起fullscreen 下复制行为与原生终端不同:fullscreen 渲染器把对话画在 alternate screen buffer 里,复制走的是 Claude Code 的应用内选择(鼠标释放时自动复制到剪贴板),而非终端原生 click-and-drag。个别终端/环境下全屏渲染的复制可能出现兼容性问题,遇到时可运行 /tui default 切回 classic 渲染器,让终端原生复制生效(具体问题以官方 issue 为准)。
Cmd+f / tmux copy mode 找不到对话内容:fullscreen 模式下对话在 alternate screen buffer 里,不在终端原生 scrollback 中。需先按 Ctrl+o 进入 transcript mode,再按 / 搜索;或按 [ 将全部内容写入 scrollback 后再用终端原生搜索。
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 让 /tui 失效:该环境变量优先级最高,设置后运行 /tui fullscreen 也无效,必须取消该变量才能生效。
background session 忽略 /tui default:通过 agent view 或 claude attach 打开的后台会话始终使用 fullscreen,无法通过 tui 设置切换。
想保留滚轮但禁掉点选时别用 CLAUDE_CODE_DISABLE_MOUSE:CLAUDE_CODE_DISABLE_MOUSE 会连滚轮一起关掉,导致 fullscreen 下无法用鼠标滚动。若只是想禁用点击/拖选/hover(例如想恢复终端原生的 click-drag 复制)但仍保留滚轮滚动,用 v2.1.195 新增的 CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1。