'tmutil listbackups' doesn't work with tmux in Mojave

I've tried to list past TM backups while running in a tmux session, but the solution described in this question doesn't seem to work on macOS Mojave any longer:

root@nomi ~> tmutil listbackups
The operation could not be completed because tmutil could not access
private application data on the backup disk. Use the Privacy tab
in the Security and Privacy preference pane to add Terminal to the
list of applications which can access Application Data.

I tried to grant Terminal access to my data:

enter image description here

but it doesn't work. So how do I list/delete my old backups in Mojave if I run the shell in tmux?


You must run the command inside Terminal without any ancestor other than the program itself: that is no screen or tmux or any other terminal helper.

Otherwise the calling program will be the helper and not Terminal itself, and you will need to add that helper to the Privacy settings of MacOS.


EDIT: add pstree info

This happens, at least for tmux, because it spawns another process wich is not a child of iTerm/Terminal. With pstree I see the following:

-+= 00001 root /sbin/launchd
...
 | |-+= 12748 maxxer /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp maxxer
 | | \-+= 12749 root login -fp maxxer
 | |   \-+= 12750 maxxer -zsh
 | |     \--= 14144 maxxer tmux
...
 |-+= 14146 maxxer tmux
 | \-+= 14147 maxxer -zsh
 |   \--= 14170 root top
 |--= 14212 maxxer /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdworker_shared -s mdworker -c MDSImporterWorker -m com.apple.mdworker.shared

PID 14144 is tmux launched in iTerm2, while 14146 is the actual tmux program running top in the first shell