5d3214d10c
input() with a prompt string on some terminals (zsh + Linux Mint) echoes ^M and the prompt doesn't flush before reading, causing the prompt to appear stuck or not accept input. Replace with explicit sys.stdout.write()+flush() + sys.stdin.readline() which guarantees the prompt is flushed before blocking on stdin, and readline() + .strip() handles both \n and \r\n line endings correctly. Tests updated to use CliRunner(input=) which populates sys.stdin inside the runner context (monkeypatching sys.stdin.readline directly is ignored by CliRunner which replaces sys.stdin entirely). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>