tclshshell, your input is typically captured using the
stdinchannel. For example:
gets stdin answer
In the Vivado IDE, the Tcl code can be executed in different
environments that are most of the time incompatible with the
stdin channel. Unless you know that the script will only be executed in
Vivado Tcl mode on a local shell,
stdin cannot be used to get user input.
Your input is typically used to alter the behavior of a script or set values for parameters. In this regard, getting some information through stdin is unreliable and prone to errors (typos, wrong value, etc.).
Such a configuration file can be used whether the Vivado IDE is run in batch mode or using a remote machine (LSF, etc.).