Cursor Agent 终端输出乱码、截断或排版错乱,很多时候不是命令失败,而是 Shell 主题太复杂。尤其是 Powerlevel10k、花哨 prompt、动态图标和右侧状态栏,可能干扰 Agent 读取终端输出。
先判断是不是主题问题
如果你手动运行命令看起来正常,但 Agent 面板里的输出缺行、乱序、颜色控制符满屏,优先怀疑终端提示符。AI Agent 需要解析命令输出,复杂主题会让它把装饰信息也当成真实结果。
最简单的测试是切到干净 Shell:临时打开 bash,不加载主题,再让 Cursor Agent 跑一次同样命令。如果输出正常,问题就不在项目代码。
用 CURSOR_AGENT 做区分
Cursor 官方文档提到,Agent 运行时可以用 CURSOR_AGENT 环境变量识别。你可以在 .zshrc 或 .bashrc 里判断:如果检测到 Agent,就跳过 Powerlevel10k、oh-my-zsh 重主题、复杂右提示符,只保留简单 PS1。
这样不会影响你日常终端体验,只是在 Agent 执行命令时给它一个更干净的环境。
还要检查这些项
关闭会自动输出大量欢迎信息的脚本,比如每次启动都打印系统状态、随机名言、包管理提示。检查命令是否需要交互输入,如果命令一直等待确认,Agent 也可能以为没输出。
对长日志任务,要求 Agent 使用 --plain、--no-color、CI=1 这类参数,减少颜色和动画。例如测试框架、构建工具、lint 工具通常都有关闭彩色输出的方法。
最稳设置
给 Agent 准备一个简单终端环境:短 prompt、少插件、少欢迎信息、命令输出尽量纯文本。然后再排查项目本身。
这类问题很容易误判成“Cursor 不会执行命令”,其实只是终端太花。先把输出变干净,Agent 才能可靠读懂失败原因。