Codex CLI 在 PowerShell 中报错「Exception setting CursorPosition: 句柄无效」的修复记录
问题现象
在 Windows 使用 Codex CLI 时,几乎每条命令后都出现类似报错:
1 | SetValueInvocationException: |
根因结论
问题不在 Codex CLI 本身,而在 PowerShell Profile 初始化脚本:
Clear-Host或某些终端美化逻辑会间接调用RawUI.CursorPosition- 在 Codex CLI 这类非标准/重定向句柄环境下,
CursorPosition不可用 - 于是每次执行命令后都抛
句柄无效
我的环境中定位结果
实际生效 profile 文件是:
1 | F:\OneDrive文档\PowerShell\Microsoft.PowerShell_profile.ps1 |
文件里有:
1 | Clear-Host |
这就是触发点。
修复方案(推荐)
核心思路:把 Clear-Host、fastfetch 等”交互终端专属操作”包进交互判断里。
1 | # Minimal profile: UTF-8 + Fastfetch (interactive only) |
最小止血方案
如果你只想立刻消除报错:
- 直接删除 profile 里的
Clear-Host
如何确认修复成功
执行几条只读命令,例如:
1 | Get-Content README.md -TotalCount 5 |
判定标准:
- 不再出现
Exception setting "CursorPosition": "句柄无效。"即修复成功
补充:为什么报错里显示第 3 行?
报错”第 3 行”通常是 当前执行上下文 中触发异常的位置,不一定是你看到的 profile 第 3 行。真实触发点可能是:
Clear-Host内部调用- 被 profile 引入的其他脚本
- 主题/美化模块的初始化代码
一句话总结
这是 PowerShell Profile 与 Codex CLI 终端句柄兼容性问题,不是 Codex 命令执行失败;把 Clear-Host/fastfetch 改为”仅交互终端执行”即可稳定解决。
- 标题: Codex CLI 在 PowerShell 中报错「Exception setting CursorPosition: 句柄无效」的修复记录
- 作者: 星苒鸭
- 创建于 : 2026-03-01 00:02:13
- 更新于 : 2026-03-05 19:20:55
- 链接: https://xingranya.cn/codex-cli-powershell-cursorposition-error-fix/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。