when using IPython as a subprocess, like for emacs inferior-shell, IPython can be started with --simple-prompt flag, which will bypass the prompt_toolkit input layer. In this mode completion, prompt color and many other features are disabled.