{"version":"2.1.236","anchor":"fullscreen-is-offered-as-a-trial-and-turns-itself-off-after-","canonical_anchor":"fullscreen-is-offered-as-a-trial-and-turns-itself-off-after-","heading":"Fullscreen is offered as a trial, and turns itself off after repeated failed launches","tier":"notice","area":"Fullscreen","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236\/e\/fullscreen-is-offered-as-a-trial-and-turns-itself-off-after-","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236","markdown":"### Fullscreen is offered as a trial, and turns itself off after repeated failed launches\n\nAccepting fullscreen now runs as a trial, and two crashed launches disable it on that machine.\n\n**What**\n\nAccepting the fullscreen renderer prompt no longer writes the setting straight away. Claude Code relaunches into a trial and only saves `tui: \"fullscreen\"` if the session stays healthy. Separately, each fullscreen launch is recorded before the first frame and cleared 10 seconds after it; a launch that dies first counts as a strike, and 2 strikes disable fullscreen on that machine for that version. `\/tui fullscreen` retries, and `CLAUDE_CODE_NO_FLICKER=1` still overrides.\n\n**Details**\n\n- The renderer decision gained two new reasons: `upsell_trial_on` for a trial session and `crash_auto_off` for the self-disable.\n- Strike state lives in the global config as `fullscreenBootPending`, `fullscreenBootStrikes` and `fullscreenAutoDisabled`, the last stamped with the build version (2.1.236). While the stamp matches the running version fullscreen stays off and the upsell is suppressed; an update clears it.\n- One strike falls back to the classic renderer for that launch only. Pending records go stale after 10 minutes on the same host, 30 days across hosts.\n- The canary applies to interactive sessions entering fullscreen via settings, trial, the Anthropic default, or the downsell\/gb paths. It is skipped for env-forced fullscreen and when `CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER` is set.\n- When it trips, stderr says: \"Claude Code's fullscreen renderer has repeatedly failed to start on this machine, so it has been turned off here. Run \/tui fullscreen to try it again (this also resets after an update).\"\n- Bare `\/tui` now explains why the classic renderer is active, distinguishing a sticky repeated-failure disable from a single unfinished launch.\n- Telemetry: `tengu_fullscreen_crash_auto_off`, carrying sticky, strikes, new_strikes, pending age and the entry path fullscreen would have used.\n- Neither path is behind a remote flag. Fullscreen-by-default itself still sits behind `tengu_amber_creek` and `tengu_pewter_brook`, both falling back to off.\n\n**Evidence**\n\n`crashAutoOff: !1,`, `crash_auto_off`, `Claude Code's fullscreen renderer has repeatedly failed to start on this machine, so it has been turned off here. Run \/tui fullscreen to try it again (this also resets after an update).`, `(fullscreen was turned off on this machine after it repeatedly failed to start; \/tui fullscreen retries)`, `tengu_fullscreen_crash_auto_off`, `upsell_trial_on`\n\n- Flag `tengu_amber_creek`: Not enough to say (read for one account on one subscription tier against v2.1.236; this account: no value returned, anonymous baseline: no value returned, compiled default: off)\n- Flag `tengu_pewter_brook`: Off by default, switched on for this account (read for one account on one subscription tier against v2.1.236; this account: on, anonymous baseline: on, compiled default: off)\n- Area: Fullscreen\n- Names: `\/tui fullscreen`, `CLAUDE_CODE_NO_FLICKER`\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 3\/5"}