[BUG] Claude Desktop fails to launch on macOS Tahoe 26.x — "Failed to get 'logs' path" + Workaround/Fix Included

Resolved 💬 2 comments Opened Apr 4, 2026 by balu-codex Closed Apr 7, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Summary
Claude Desktop crashes instantly on launch on macOS Tahoe 26.x due to stricter sandbox/privacy rules that block the app from creating its required logs folder at ~/Library/Logs/Claude. This is a macOS 26-specific regression affecting Electron apps.

Environment
FieldDetailsmacOS VersionTahoe 26.4 (also reproduced on 26.3)HardwareMacBook Pro 16-inch 2023ChipApple M2 Pro (ARM64)Memory16 GBClaude Desktop VersionLatest (freshly downloaded from claude.ai/download)Download SourceOfficial — claude.ai/download

Root Cause (Discovered)
This is not a bug in the Claude app itself. The app is fine. The crash is caused by macOS Tahoe 26's stricter sandbox and privacy rules silently blocking Electron apps from creating folders inside ~/Library/Logs at startup.
Claude Desktop requires a logs folder at launch:
~/Library/Logs/Claude
On macOS 26, this folder creation is blocked by the OS before the app UI even loads → app crashes instantly.
There were three layered issues discovered:

  1. macOS didn't register the app bundle correctly

macOS LaunchServices didn't recognize Claude properly, causing tccutil reset All com.anthropic.claude to silently fail. The correct bundle ID is com.anthropic.claudefordesktop.

  1. macOS privacy/TCC database had stale/broken permission state

The TCC database needed a clean reset for the correct bundle ID:
bashtccutil reset All com.anthropic.claudefordesktop

  1. macOS 26 locked ~/Library/Logs entirely

The biggest blocker — even Terminal couldn't create subfolders inside ~/Library/Logs without elevated privileges. This is a new macOS 26 security behaviour that affects Electron apps which rely on app.getPath('logs').

Fix / Workaround
Manually create the logs folder with admin rights and fix ownership/permissions:
bash# Step 1 — Create the logs folder
sudo mkdir -p ~/Library/Logs/Claude

Step 2 — Give yourself ownership of the Logs folder

sudo chown -R $(whoami) ~/Library/Logs

Step 3 — Give write permissions

chmod -R u+rw ~/Library/Logs
Then relaunch Claude Desktop — it should now start successfully. ✅

What Should Happen?

What Anthropic Should Fix
macOS 26 has changed how ~/Library/Logs access works for sandboxed apps. Claude Desktop should handle the case where app.getPath('logs') fails gracefully without crashing, and ideally the installer or first-launch flow should pre-create the logs directory with the correct permissions.
Relevant related issues: #28590, #30717

Error Messages/Logs

Error Message
Uncaught Exception:
Error: Failed to get 'logs' path
at Object.<anonymous> (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.pre.js:62:3901)
at Module._compile (node:internal/modules/cjs/loader:1769:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1902:10)
at Module.load (node:internal/modules/cjs/loader:1488:32)
at Module._load (node:internal/modules/cjs/loader:1307:12)
at c._load (node:electron/js2c/node_init:2:17999)

Steps to Reproduce

Steps to Reproduce

Install macOS Tahoe 26.x (fresh install or upgrade)
Download and install Claude Desktop from claude.ai/download
Launch Claude.app
App crashes instantly with "Failed to get 'logs' path" error

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

claude for desktop

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Expected Behavior
Claude Desktop should launch successfully, or fail gracefully with a clear message asking the user to grant permissions.
Actual Behavior
App crashes before UI loads with an uncaught JavaScript exception.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗