{"version":"2.1.314","anchor":"interactive-tty-check-now-excludes-ci-environments","canonical_anchor":"interactive-tty-check-now-excludes-ci-environments","heading":"Claude Code now treats CI runs as non-interactive even with a terminal","tier":"notice","area":"Headless Mode","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314\/e\/interactive-tty-check-now-excludes-ci-environments","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314","markdown":"### Claude Code now treats CI runs as non-interactive even with a terminal\n\nWhen the CI environment variable is set, Claude Code no longer treats the run as interactive, even if a terminal is attached\n\n**What**\n\nClaude Code checks whether it is running in an interactive terminal, meaning one a person can type into. Some build and test systems, known as CI (continuous integration), give programs a pretend terminal that looks interactive.\n\nThat check now also answers no when the `CI` environment variable is set to a true value. A run inside CI is therefore treated as non-interactive, even when it has a pretend terminal attached.\n\n**Why**\n\nCI jobs that ran Claude Code with a terminal attached and got interactive behaviour will now get non-interactive behaviour instead. If a pipeline relied on the interactive behaviour, it will behave differently.\n\n- Area: Headless Mode\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}