Post

Fix: Zed Terminal Can't Navigate Parent Directories on macOS

Solve macOS permission issues preventing Zed's terminal from navigating parent directories with Full Disk Access configuration.

Fix: Zed Terminal Can't Navigate Parent Directories on macOS

When you switch to the Zed terminal from VSCode you would probably had couple of issues. One of them is that the Zed terminal restricts cd .. and parent directory navigation due to macOS privacy permissions, and this is not a Zed limitation. VSCode works because it already(probably) has system access. To fix this, you need to grant Zed Full Disk Access.

Grant Full Disk Access

Open System SettingsPrivacy & SecurityFull Disk Access:

  1. Click the lock icon and authenticate
  2. Click [+] button
  3. Navigate to Applications and select Zed
  4. Restart Zed completely
1
2
3
4
5
# After restart, test navigation
cd ~/Projects/my-app
cd ../..
pwd
> /Users/yourusername

Why This Happens

macOS Mojave (10.14)+ blocks applications from accessing certain directories without explicit permission. When Zed’s terminal attempts to navigate outside the project scope, the OS silently denies the operation or triggers permission prompts for protected folders like ~/Desktop, ~/Documents, ~/Downloads, and ~/Library subdirectories.

VSCode likely received these permissions during initial setup or previous usage. Zed needs the same access level.

Additional Permissions

If Full Disk Access doesn’t resolve the issue, check Files and Folders permissions:

System SettingsPrivacy & SecurityFiles and FoldersZed

Enable access for:

  • Desktop Folder
  • Documents Folder
  • Downloads Folder
  • Network Volumes (if needed)

Verify Permissions

1
2
3
4
5
6
7
8
# Open Zed from project subdirectory
cd ~/Projects/ios-app/Sources
zed .

# In Zed terminal, navigate upward
cd ../../..
ls -la
> Desktop  Documents  Downloads  Library

Alternative: Terminal Working Directory

If you prefer not granting Full Disk Access, configure Zed’s terminal to always start from a specific directory. Add to settings.json:

1
2
3
4
5
{
  "terminal": {
    "working_directory": "current_project_directory"
  }
}

Options:

  • current_project_directory — Project root (default)
  • first_project_directory — First project in workspace
  • always_home — Always start in ~

This doesn’t solve navigation restrictions but provides a predictable starting point.

Known Limitations

Opening Zed with your home directory (zed ~) triggers excessive permission prompts for Calendar, Contacts, Reminders, and other protected system folders as Zed recursively scans the directory tree. This is a known issue affecting both Zed and VSCode when indexing protected directories.

Avoid opening entire home directory. Instead, open specific project folders:

1
2
3
4
5
# Avoid
zed ~

# Prefer
zed ~/Projects/specific-project

Permission Security Note

Granting Full Disk Access gives Zed (and any scripts it executes) unrestricted filesystem access. This is the same level VSCode typically operates at. If security is a concern, grant only specific Files and Folders permissions rather than Full Disk Access, though this may result in occasional permission prompts when accessing new directories.

☕ Support My Work

If you found this post helpful and want to support more content like this, you can buy me a coffee!

Your support helps me continue creating useful articles and tips for fellow developers. Thank you! 🙏

This post is licensed under CC BY 4.0 by the author.