{"version":"2.1.305","anchor":"login-flow-ctrl-c-exits-with-code-130-and-stdin-listener-is","canonical_anchor":"login-flow-ctrl-c-exits-with-code-130-and-stdin-listener-is","heading":"Cancelling claude auth login now exits with code 130","tier":"notice","area":"Auth","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/login-flow-ctrl-c-exits-with-code-130-and-stdin-listener-is","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### Cancelling `claude auth login` now exits with code 130\n\nCancelling the login flow now exits with code 130 instead of 1, and other errors still exit with 1\n\n**Unclear.** It is not clear exactly which errors count as a cancel and get code 130, such as pressing Ctrl-C.\n\n**What**\n\nAn exit code is the number a program hands back when it finishes, which scripts use to tell success from failure. When the login flow is cancelled, Claude Code now exits with code 130. Other login errors still exit with code 1, which used to be the code in every case. The cleanup on exit also now stops listening for keyboard input.\n\n**Why**\n\nScripts that wrap `claude auth login` will see 130 instead of 1 on cancel, and may need updating if they check for 1.\n\n- Area: Auth\n- Names: `claude auth login`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}