Interactive terminal
Most lines are non-interactive: the app starts the shell, streams the output, and returns to the prompt. A program that needs a keyboard opens a pseudo-terminal in the tab instead. On Windows that terminal is ConPTY. The screen is drawn with xterm.js.
These open a terminal on their own:
- Editors and pagers
sshandsudotopgit commitwithout-m, andgit add -pdocker exec -it- A REPL started without a script, such as
python,node, orpsql mydb
@shell opens an interactive shell in the tab until you type exit.
Keys, Ctrl+C, and Ctrl+L go to the program. Ctrl+Shift+C copies. Ctrl+Shift+V pastes. End session on the terminal’s header stops it. When it exits, the tab is back to the normal prompt with one line saying how it ended.
Switching tabs keeps the session running. cd inside the session does not change the folder the next normal line uses.
Settings → Interactive programs turns detection off. With it off, everything runs as plain output, including the programs in the list above.
The interactive terminal is this machine’s shell. Do not expose the app as a network service. A person who can type here can run what the shell can run.