Running mc (midnight commander) under su on Mojave/Catalina

$sudo mc
common.c unimplemented subshell type 1
read (subshell_pty...): No such file or directory (2)

===

It appears that mc requires to match precompiled shell version, e.g. /bin/bash to be the one.

In order to resolve this, its is required to change default root shell from sh to bash, and do it with following command:

sudo dscl . -change /Users/root UserShell /bin/sh /bin/bash

To revert back in case you have some problems, just reverse the parameters:

sudo dscl . -change /Users/root UserShell /bin/bash /bin/sh

Just in case above commands do not work, may be default shell was already changed. Check it with command:

dscl . -read /Users/root UserShell

Midnight Commander is still actively developed. But this default shell bug has been ongoing for years. Apple switched Catalina to use zsh but default /bin/sh is still there for backwards compatibility of bourne shell scripts. Other OSes are impacted by this shell issue. Some use the Dash shell to be /bin/sh, etc.

Newer console file managers such as lf, ranger, broot, vifm, nnn, fff, etc., etc., etc. are worth a look.

source: https://apple.stackexchange.com/questions/340414/running-mc-midnight-commander-under-su-on-mojave-catalina