fix(cli): improve error message display for object errors #1386
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #1338
Previously, when a tool execution failed with an error object (not an Error instance),
getErrorMessage()would return[object Object], hiding useful error information from users.Changes
This PR improves
getErrorMessage()to properly handle non-Error objects:messageproperty from error-like objects (e.g.,{ message: 'test' }→'test'){ code: 500 }→'{"code":500}')String()only when JSON.stringify fails (circular references, etc.)Test plan
messagepropertymessagepropertyAI Assistance Disclosure
I used Codex to review the changes, sanity-check the implementation against existing patterns, and help spot potential edge cases.