目录 / claude-print-subprocess-error-streams
SKILL
未评级
已上架
claude-print-subprocess-error-streams
修复在 Python 子进程中包装 `claude --print --output-format json` 时出现的模糊 `RuntimeError: Claude session failed: `(或任何内容为空的包装器错误)。适用场景:(1)你通过 `subprocess.run` / `subprocess.communicate` 包装 `claude --print`(或任何非交互式 `claude` CLI 调用)以驱动批量自动化;(2)子进程以非零返回码退出,但 `result.stderr` 为空,导致错误信息为空;(3)你怀疑 Claude 会话内部发生了错误,但无法看到。根本原因:`claude --print --output-format json` 将其会话结果(包括错误,如 `{"is_error": true, ...}` JSON)写入 STDOUT,而非 STDERR。仅显示 `result.stderr` 的包装器会丢失实际错误。修复方法是在包装器的 RuntimeError 中同时显示两个流,其中 `result.stdout` 应占更大比重,因为错误信息以 JSON 形式存在于该流中。
模型生成摘要(rules/v1 · 2026-11-15 18:42):修复在 Python 子进程中包装 `claude --print --output-format json` 时出现的模糊 `RuntimeError: Claude session failed: `(或任何内容为空的包装器错误)
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-15 18:41 | 7552cda9 | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。