{"version":"2.1.319","anchor":"macos-app-bundle-install-path-for-native-updates-gated-by-e","canonical_anchor":"macos-app-bundle-install-path-for-native-updates-gated-by-e","heading":"macOS native installs can be set up as a signed claude.app bundle","tier":"notice","area":"Installer","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/macos-app-bundle-install-path-for-native-updates-gated-by-e","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### macOS native installs can be set up as a signed claude.app bundle\n\nOn macOS, the native updater can install Claude Code as a verified claude.app bundle when `CLAUDE_CODE_NATIVE_APP_BUNDLE` is set, else as before\n\n**Unclear.** A fixed condition in the decision may keep the app bundle install from running even when `CLAUDE_CODE_NATIVE_APP_BUNDLE` is set.\n\n**What**\n\nThe native installer, which downloads and updates Claude Code itself, can now install it on macOS as a `claude.app` app bundle (the folder format macOS uses for applications) instead of a single plain program file. Before, it only downloaded the plain program and checked its checksum (a fingerprint that confirms the file arrived intact).\n\nIn bundle mode it downloads the bundle, checks its checksum, unpacks it, checks its app information file, confirms its code signature with macOS, does a trial run, and then points the installed version at it. The signed list of available versions can now name a bundle for each platform.\n\nIt is tried only when all of these hold:\n\n- you are on macOS\n\n- you use Anthropic directly rather than a third-party provider\n\n- it is a normal release build, not a development build\n\n- the folder that holds installed versions belongs to your user account\n\n- `CLAUDE_CODE_NATIVE_APP_BUNDLE` is set, or, when it is not set, a remote switch allows it (off unless it is switched on remotely)\n\nIf any step fails, or the version list does not pass every check, Claude Code installs the plain program instead and says so. Claude Code also records how each bundle install went and how long it took.\n\n**Why**\n\nThis changes how Claude Code is laid out and checked on a Mac, and it stays off unless you set the variable or it is switched on remotely. A failed bundle install never leaves you without Claude Code, because the plain program is installed in its place.\n\n- Flag `tengu_purring_aurora`: Not enough to say (read for one account on one subscription tier against v2.1.319; this account: no value returned, anonymous baseline: no value returned, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: Installer\n- Tier: You'll notice\n- Useful: 5\/5\n- Signal: 4\/5\n- Scope: individual\n- Heads-up: no"}