{"version":"2.1.316","anchor":"macos-background-session-stable-path-launcher-now-reads-info","canonical_anchor":"macos-background-session-stable-path-launcher-now-reads-info","heading":"macOS helper app now takes its permission details from the Claude Code program itself","tier":"internal","area":"macOS","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.316\/e\/macos-background-session-stable-path-launcher-now-reads-info","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.316","markdown":"### macOS helper app now takes its permission details from the Claude Code program itself\n\nOn macOS, the helper app's Info.plist now comes from the Claude Code program; without one, background sessions run from the installed path instead\n\n**Unclear.** It is not clear whether released Claude Code programs carry the embedded description, so the stable helper path may or may not still be used.\n\n**What**\n\nOn macOS, background sessions (Claude Code work that keeps running without an open terminal window) start through a stable copy of the program inside the ClaudeCode.app helper app. Beside that copy sits an `Info.plist` file, a small description macOS reads to identify the app when it asks you for permissions. That file used to be written from fixed text built into Claude Code. That text named the app `com.anthropic.claude-code`, kept it out of the Dock, and explained why it wants the microphone, control of other apps (Apple Events) and the local network.\n\nClaude Code now reads that description out of its own program file, where it can be stored in a dedicated section, and writes it to `Info.plist`. If the program file has no such section, the stable copy is not used at all, and background sessions start from the installed program's own location instead.\n\nThis setup only runs on macOS, and only when Claude Code is installed under a `claude\/versions` folder. You can turn it off by setting either of these environment variables:\n\n- `CLAUDE_PTY_HOST_NO_STABLE_PATH` set to `1`\n\n- `CLAUDE_CODE_DISABLE_BG_STABLE_PATH` set to any value\n\n**Why**\n\nThe stable copy gives macOS a consistent identity in permission prompts. When the description is missing from the program file, background sessions lose that identity without any warning. They run from the raw program path instead, and macOS may then treat them differently when deciding about permissions.\n\n- Area: macOS\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}