Skip to content

Conversation

@AndrewAsseily
Copy link
Contributor

Issue #, if available: CLI-5136 & CLI-7572

Description of changes:

Exposes modeled error members from AWS service exceptions to stdout in the configured output format (json/yaml/text/table/off), while maintaining the existing formatted error message on stderr.

Behavior:

Command: aws s3api get-object --bucket not-a-real-bucket-0000 --key file.txt out.txt

Before:

An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist

After (stdout):

{
    "Code": "NoSuchBucket",
    "Message": "The specified bucket does not exist",
    "BucketName": "not-a-real-bucket-0000"
}

After (stderr):

An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist

Configuration:

Users can opt out via:

  • Config: cli_error_format = LEGACY
  • Environment: AWS_CLI_ERROR_FORMAT=LEGACY

Additional Changes:

  • Added off as a valid output format option to suppress all output

Description of tests:

  • Unit and functional tests pass locally.

@AndrewAsseily AndrewAsseily changed the base branch from nyandrew/str-std-error to feature/str-std-error December 3, 2025 20:33
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