--prompt=terminal writes the prompt to stderr, as seen in #417, but credential_process swallows everything written to stderr. So if you are using credential_process and MFA, aws commands appear to hang.
Perhaps the solution is to write the prompt to /dev/tty instead, as suggested by @gdamjanhere?