Sonarr version: 4.0.16.2946 (ARM version)
OS: MacOS 15.7.4 (Sequoia)
Debug logs: example below
Description of issue:
I have a Mac Mini M1 running both Sonarr and Radarr. Downloading and storage are handled by another device; the relevant directories are mounted on the Mac via NFS.
I’ve been troubleshooting an issue where Sonarr fails to automatically import NZB downloads (via NZBGet). The monitored download task fails with a permissions error like this:
Couldn't import episode /Volumes/Downloads/Sample.Show.S01E01/Sample.Show.S01E01.mp4: Access to the path '/Volumes/Downloads/Sample.Show.S01E01/Sample.Show.S01E01.mp4' is denied.
However, the behavior is inconsistent:
- Manual import works perfectly.
Using Wanted → Manual Import, I can browse to the same directory and import the exact same file without issue. Both the ‘copy’ and ‘move’ options work as expected. - Automatic import fails unless permissions are changed.
– After extraction, the episode directories and files are set to 775. With those permissions, the monitored import fails.
– If I change the directory/contents permissions to 777, the monitored import succeeds.
– Manual import succeeds without changing permissions.
Additional details:
- Sonarr clearly has read/write access to the files, since manual import works.
- The files are on NFS mounts, but they behave like local volumes and Radarr uses the same mounts and paths without issue.
- Radarr automatically imports downloads from the same directories with identical permissions (775).
Because of that, I’m unsure whether this is a configuration issue on my side or something specific to Sonarr’s monitored import process.
Below is a sanitized excerpt from the regular log. I can provide full debug logs if needed.
In the meantime, my temporary workaround will probably be a cron job that recursively adds write permissions to the downloads directory, but I’d obviously prefer to solve the underlying issue.
Thanks in advance for any suggestions.
2026-03-12 11:53:42.9|Warn|ImportApprovedEpisodes|Couldn't import episode /Volumes/Downloads/complete/Series/Sample.Show.S01E01/Sample.Show.S01E01.mkv
[v4.0.16.2946] System.UnauthorizedAccessException: Access to the path '/Volumes/Downloads/complete/Series/Sample.Show.S01E01/Sample.Show.S01E01.mkv' is denied.
---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at System.IO.FileSystem.DeleteFile(String fullPath)
at NzbDrone.Mono.Disk.DiskProvider.TransferFilePatched(String source, String destination, Boolean overwrite, Boolean move) in ./Sonarr.Mono/Disk/DiskProvider.cs:line 422
at NzbDrone.Common.Disk.DiskProviderBase.MoveFile(String source, String destination, Boolean overwrite) in ./Sonarr.Common/Disk/DiskProviderBase.cs:line 273
at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileVerified(String sourcePath, String targetPath, Int64 originalSize) in ./Sonarr.Common/Disk/DiskTransferService.cs:line 501
at NzbDrone.Common.Disk.DiskTransferService.TransferFile(String sourcePath, String targetPath, TransferMode mode, Boolean overwrite) in ./Sonarr.Common/Disk/DiskTransferService.cs:line 296
at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile(EpisodeFile episodeFile, Series series, List`1 episodes, String destinationFilePath, TransferMode mode, LocalEpisode localEpisode) in ./Sonarr.Core/MediaFiles/EpisodeFileMovingService.cs:line 174
at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode, Boolean copyOnly) in ./Sonarr.Core/MediaFiles/UpgradeMediaFileService.cs:line 80
at NzbDrone.Core.MediaFiles.EpisodeImport.ImportApprovedEpisodes.Import(List`1 decisions, Boolean newDownload, DownloadClientItem downloadClientItem, ImportMode importMode) in ./Sonarr.Core/MediaFiles/EpisodeImport/ImportApprovedEpisodes.cs:line 159