# macOS Full Disk Access — External Volumes

**Source:** daily/2026-05-07.md  
**Tags:** macos, permissions, fda, claude-code, external-ssd

---

## Problem

Reading files under `/Volumes/SSD/...` (external USB/Thunderbolt drives) from Terminal or Claude Code fails with:

```
Operation not permitted
```

This happens even when the path is correct and the drive is mounted.

---

## Cause

macOS grants Full Disk Access (FDA) on a **per-application** basis. Without FDA, apps cannot read from external SSD volumes — even if launched by the user from the terminal.

Affected apps: `Terminal`, `Claude Code`, `iTerm2`, any shell-based tool that reads protected paths.

---

## Fix

1. **System Settings → Privacy & Security → Full Disk Access**
2. Click `+` → navigate to the app (e.g., `/Applications/Claude Code.app` or `/System/Applications/Utilities/Terminal.app`)
3. Toggle it **ON**
4. **Restart the application** — FDA is not applied to a running process; the app must be quit and relaunched

---

## Restart Requirement

This is the most common miss: granting FDA while the app is running has no effect on the current session. The app must be **fully quit** (not just the window closed) and reopened.

For Claude Code specifically: quit via menu or `Cmd+Q`, then relaunch. A new Claude Code session will then be able to read `/Volumes/SSD/...` paths.

---

## Scope

FDA is required for:
- External USB/Thunderbolt drives (`/Volumes/*`)
- Time Machine volumes
- iCloud Drive folders (in some macOS versions)
- System folders (`~/Library/Mail`, etc.)

Normal user home directory files (`~/Documents`, `~/Downloads`) do **not** require FDA.

---

## Diagnostic

If you're unsure whether FDA is the issue:

```bash
# Try reading a file on the volume
cat /Volumes/SSD/some-file.txt
# → "Operation not permitted" = FDA missing
# → content output = access granted
```
