Skip to content

fix: preserve structured error from site CLI in provider#187

Merged
yan5xu merged 1 commit intomainfrom
fix/site-error-propagation
Apr 9, 2026
Merged

fix: preserve structured error from site CLI in provider#187
yan5xu merged 1 commit intomainfrom
fix/site-error-propagation

Conversation

@yan5xu
Copy link
Copy Markdown
Collaborator

@yan5xu yan5xu commented Apr 9, 2026

Summary

  • Provider 的 runSiteCli() 在 CLI 返回非零 exit code 时,优先使用 stdout(包含结构化 JSON 错误)而非 stderr(通常为空),使调用方能收到可操作的错误信息而非 Command failed: node ...

背景

agent-clip 调用 site command 失败时,日志里只有 [error] github: Command failed: node .../cli.js site run github/me --json,丢失了 CLI stdout 中的结构化错误(如 {"success":false,"error":"Not logged in","hint":"Please log in to ..."})。

根因:runSiteCli()execFile 调用 CLI,exit code 非零时只取 stderr,丢弃了 stdout 里的 JSON 错误信息。

改动

bin/bb-browser-provider.ts:364 一行:stderr2 || stderr || err2.messagestdout2.trim() || stderr2 || err2.message

验证

  • 发布 bb-browser@0.11.3-beta.1,在 Mac Mini 上通过 npm install -g 安装
  • 通过 pinix github me 调用,确认返回结构化 JSON 错误而非 Command failed

🤖 Generated with Claude Code

When a site CLI command exits non-zero, prefer stdout (which contains
structured JSON with error/hint) over stderr (which is often empty),
so callers receive actionable error messages instead of generic
"Command failed: node ..." text.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@yan5xu yan5xu merged commit 0da5e48 into main Apr 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant