Return codes from the Amazon CLI - Amazon Command Line Interface
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Return codes from the Amazon CLI

The return code is usually a hidden code sent after running a Amazon Command Line Interface (Amazon CLI) command which describes the status of the command. You can use the echo command to display the code sent from the last Amazon CLI command and use these codes to determine if a command was successful or if it failed, and why a command might have an error. In addition to the return codes, you can view more details about a failure by running your commands with the --debug switch. This switch produces a detailed report of the steps the Amazon CLI uses to process the command, and what the result of each step was.

To determine the return code of an Amazon CLI command, run one of the following commands immediately after running the CLI command.

Linux and macOS
$ echo $? 0
Windows PowerShell
PS> echo $lastexitcode 0
Windows Command Prompt
C:\> echo %errorlevel% 0

The following are the return code values that can be returned at the end of running an Amazon Command Line Interface (Amazon CLI) command.

Code Meaning

The service responded with an HTTP response status code of 200 indicating that there were no errors generated by the Amazon CLI and Amazon service the request was sent to.


One or more Amazon S3 transfer operations failed. Limited to S3 commands.


The meaning of this return code depends on the command:

  • Applicable to all Amazon CLI commands – the command entered couldn't be parsed. Parsing failures can be caused by, but aren't limited to, missing required subcommands or arguments, or using unknown commands or arguments.

  • Limited to S3 commands – One or more files marked for transfer were skipped during the transfer process. However, all other files marked for transfer were successfully transferred. Files that are skipped during the transfer process include: files that don't exist; files that are character special devices, block special device, FIFO queues, or sockets; and files that the user doesn't have read permissions to.


The command was interrupted by a SIGINT. This is the signal sent by you to cancel a command with Ctrl+C.


Command syntax was invalid, an unknown parameter was provided, or a parameter value was incorrect and prevented the command from running.


The system environment or configuration was invalid. While the command provided might be syntactically valid, missing configuration or credentials prevented the command from running.


The command successfully parsed and a request made to the specified service but the service returned an error. This will generally indicate incorrect API usage or other service specific issues.


The command failed. There were errors generated by the Amazon CLI or by the Amazon service to which the request was sent.