shellFamily property
For SessionMode.exec only: run the command under this shell family's
interpreter (resolved on the node) instead of the OS default exec shell.
Used so TAB-completion runs in the same family as the interactive session
(notably on Windows, where the default exec shell is always cmd.exe).
null keeps the default behavior; ignored when explicit args are given.
Implementation
final ShellFamily? shellFamily;