Docker push output behavior varies with TTY detection. Using stderr=subprocess.STDOUT merges both streams into stdout, ensuring the 500 error is always captured. Previous approach with separate capture_output=True didn't reliably catch the error. # Implements: REQ-1