The current behavior is that the exit code is always 0. Scripts that depend on this code to determine whether to exit or continue fail to exit as a result.
This is appears to be specific to the CLI. The main functions do return success / failure. The desired behavior is either to exit 1 explicitly or raise an exceptions, which should cause an exit 1.