[{"data":1,"prerenderedAt":34},["ShallowReactive",2],{"doc:en:terminals":3},{"title":4,"lede":5,"html":6,"headings":7},"Terminals","Escouade has real built-in terminals, one per shell you open, listed by project in the sidebar. This page explains how to open them, which shells are offered, how to copy, paste and search, and which shortcuts stay with the shell.","\u003Ch2 id=\"opening-a-terminal\">Opening a terminal\u003C\u002Fh2>\n\u003Cp>A terminal is a real shell, in a pseudo-terminal (ConPTY on Windows, pty on macOS and Linux) displayed by xterm.js. Its history, its prompt and its completion are therefore the shell’s own: the \u003Ccode class=\"key\">Tab\u003C\u002Fcode> key completes as in any terminal. \u003Ccode class=\"key\">http:\u002F\u002F\u003C\u002Fcode> and \u003Ccode class=\"key\">https:\u002F\u002F\u003C\u002Fcode> addresses that appear in the output open in your browser with a plain click, no key to hold. The terminal keeps 10,000 lines of history.\u003C\u002Fp>\n\u003Cdiv class=\"table\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>To open…\u003C\u002Fth>\n\u003Cth>Do this\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>A terminal in the project folder\u003C\u002Ftd>\n\u003Ctd>\u003Ccode class=\"key\">Ctrl+T\u003C\u002Fcode> (\u003Ccode class=\"key\">⌘T\u003C\u002Fcode> on macOS), or the + button of the sidebar’s “Terminals” section. The shortcut uses the first shell in the list; the + button offers each shell.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A terminal in an agent’s worktree\u003C\u002Ftd>\n\u003Ctd>Right-click the agent’s card, then “Open a terminal”. Without a worktree, the terminal opens in the project folder. See \u003Ca href=\"\u002Fen\u002Fdocs\u002Fworktrees\u002F\">worktrees\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A terminal in a folder of the editor\u003C\u002Ftd>\n\u003Ctd>Right-click a folder in the \u003Ca href=\"\u002Fen\u002Fdocs\u002Feditor\u002F\">editor\u003C\u002Fa>’s file tree, then “Open a terminal here”. On the free space, it is the source’s root (the agent’s worktree or the project).\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>A terminal is named after its shell and a number (\u003Ccode class=\"key\">pwsh-1\u003C\u002Fcode>), or after its shell and the agent or folder it comes from (\u003Ccode>pwsh · refacto-auth\u003C\u002Fcode>, \u003Ccode>pwsh · src\u003C\u002Fcode>). It is added to the project’s “Terminals” section, along with the number of open terminals: clicking its row displays it, the row’s × closes it. When the shell has stopped, the row carries “exited”.\u003C\u002Fp>\n\u003Cp>Without a shell found, a message says so: “No shell found (PowerShell 7, Git Bash, WSL). Check the settings.”\u003C\u002Fp>\n\u003Ch2 id=\"the-available-shells\">The available shells\u003C\u002Fh2>\n\u003Cp>Escouade detects the shells installed on your machine.\u003C\u002Fp>\n\u003Cdiv class=\"table\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>System\u003C\u002Fth>\n\u003Cth>Shells offered\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Windows\u003C\u002Ftd>\n\u003Ctd>“PowerShell” (PowerShell 7, looked for in the \u003Ccode class=\"key\">PATH\u003C\u002Fcode> then in \u003Ccode>Program Files\u003C\u002Fcode>); “Windows PowerShell” instead when PowerShell 7 is missing; “Git Bash”, the one from Git for Windows; “WSL” (“WSL (Ubuntu)” when a distribution is set).\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>macOS and Linux\u003C\u002Ftd>\n\u003Ctd>Your login shell (\u003Ccode class=\"key\">$SHELL\u003C\u002Fcode>) first, then zsh, bash and fish when they are installed. \u003Ccode class=\"key\">sh\u003C\u002Fcode> is the last resort when none of the others is found.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>The first one in the list is what \u003Ccode class=\"key\">Ctrl+T\u003C\u002Fcode> opens. On macOS and Linux, shells start as login shells (\u003Ccode class=\"key\">-l\u003C\u002Fcode>), as in an ordinary terminal. WSL opens in the project folder (or the agent’s) and takes the default distribution, or the one in Settings › Terminals.\u003C\u002Fp>\n\u003Cp>The paths of PowerShell 7 and Git Bash, the WSL distribution and, on macOS, the path of bash are set in Settings › Terminals, which also shows the detected shells (on Linux, only the “Git Bash” field counts, for bash): see \u003Ca href=\"\u002Fen\u002Fdocs\u002Fsettings-terminals\u002F\">the terminals settings\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"in-the-terminal\">In the terminal\u003C\u002Fh2>\n\u003Cp>The terminal fills the whole main area. Its header gives its name, its shell and the project folder, and it has three buttons: the magnifier (see \u003Ca href=\"#searching-clearing-closing\">below\u003C\u002Fa>), “Clear”, which empties the screen, and “Close terminal”. Closing the terminal stops the shell. On Windows, it also stops the programs the shell started, except those that opened a window (a browser, an editor), which stay open.\u003C\u002Fp>\n\u003Cp>The terminal keeps its contents when you display something else, for example a conversation, and then come back.\u003C\u002Fp>\n\u003Cp>When the shell stops (an \u003Ccode class=\"key\">exit\u003C\u002Fcode>, for example), a bar says “Process exited.” or “Process exited (code 1).”, with “Restart”, which closes this terminal and opens a new one with the same shell, in the project folder, and “Close”.\u003C\u002Fp>\n\u003Ch3 id=\"copying-and-pasting\">Copying and pasting\u003C\u002Fh3>\n\u003Cdiv class=\"table\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>System\u003C\u002Fth>\n\u003Cth>Copy\u003C\u002Fth>\n\u003Cth>Paste\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Windows and Linux\u003C\u002Ftd>\n\u003Ctd>Select with the mouse, then \u003Ccode class=\"key\">Ctrl+C\u003C\u002Fcode> (or \u003Ccode class=\"key\">Ctrl+Shift+C\u003C\u002Fcode>). Without a selection, \u003Ccode class=\"key\">Ctrl+C\u003C\u002Fcode> interrupts the program as usual.\u003C\u002Ftd>\n\u003Ctd>\u003Ccode class=\"key\">Ctrl+V\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>macOS\u003C\u002Ftd>\n\u003Ctd>\u003Ccode class=\"key\">⌘C\u003C\u002Fcode> on the selection\u003C\u002Ftd>\n\u003Ctd>\u003Ccode class=\"key\">⌘V\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>On macOS, the \u003Ccode class=\"key\">Ctrl\u003C\u002Fcode> keys all go to the shell (except \u003Ccode class=\"key\">Ctrl+Tab\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Ch3 id=\"escouade-s-shortcuts\">Escouade’s shortcuts\u003C\u002Fh3>\n\u003Cp>A terminal keeps almost all keys for the shell. The behavior depends on the system.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>On Windows and Linux, these shortcuts go through to Escouade: \u003Ccode class=\"key\">Ctrl+Tab\u003C\u002Fcode> and \u003Ccode class=\"key\">Ctrl+Shift+Tab\u003C\u002Fcode> (next and previous agent), \u003Ccode class=\"key\">Ctrl+Shift+A\u003C\u002Fcode> (the \u003Ca href=\"\u002Fen\u002Fdocs\u002Foverview\u002F\">overview\u003C\u002Fa>), \u003Ccode class=\"key\">Ctrl+1\u003C\u002Fcode> to \u003Ccode class=\"key\">Ctrl+9\u003C\u002Fcode> (go to project n), \u003Ccode class=\"key\">Ctrl+,\u003C\u002Fcode> (the settings) and \u003Ccode class=\"key\">Ctrl+J\u003C\u002Fcode> (the next waiting agent). \u003Ccode class=\"key\">Ctrl+Shift+B\u003C\u002Fcode> (the files panel) and \u003Ccode class=\"key\">Ctrl+Shift+L\u003C\u002Fcode> (the layout) work too: the terminal sends nothing to the shell for \u003Ccode class=\"key\">Ctrl+Shift\u003C\u002Fcode> plus a letter. The other \u003Ccode class=\"key\">Ctrl\u003C\u002Fcode> plus a letter keys, including \u003Ccode class=\"key\">Ctrl+K\u003C\u002Fcode>, \u003Ccode class=\"key\">Ctrl+P\u003C\u002Fcode>, \u003Ccode class=\"key\">Ctrl+N\u003C\u002Fcode> and \u003Ccode class=\"key\">Ctrl+T\u003C\u002Fcode>, goes to the shell: a \u003Ccode class=\"key\">Ctrl+T\u003C\u002Fcode> typed in a terminal therefore doesn’t open a new terminal.\u003C\u002Fli>\n\u003Cli>On macOS, all of Escouade’s \u003Ccode class=\"key\">⌘\u003C\u002Fcode> shortcuts work in a terminal, and \u003Ccode class=\"key\">⌘C\u003C\u002Fcode>, \u003Ccode class=\"key\">⌘V\u003C\u002Fcode> and \u003Ccode class=\"key\">⌘A\u003C\u002Fcode> (select all) are the terminal’s own. \u003Ccode class=\"key\">Ctrl+Tab\u003C\u002Fcode> goes to the next agent.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"searching-clearing-closing\">Searching, clearing, closing\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>The header’s magnifier, or \u003Ccode class=\"key\">Ctrl+Shift+F\u003C\u002Fcode> (\u003Ccode class=\"key\">⇧⌘F\u003C\u002Fcode> on macOS) when the terminal has the focus, opens a “Search…” field: \u003Ccode class=\"key\">Enter\u003C\u002Fcode> goes to the next match, \u003Ccode class=\"key\">Shift+Enter\u003C\u002Fcode> to the previous one and \u003Ccode class=\"key\">Esc\u003C\u002Fcode> closes the field and gives the focus back to the terminal.\u003C\u002Fli>\n\u003Cli>“Clear” empties the terminal’s screen.\u003C\u002Fli>\n\u003Cli>“Close terminal” closes it.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"the-proxy\">The proxy\u003C\u002Fh2>\n\u003Cp>In Settings › Network, the “Also apply the proxy to the built-in terminals” switch (off by default) gives terminals the \u003Ccode class=\"key\">HTTPS_PROXY\u003C\u002Fcode>, \u003Ccode class=\"key\">HTTP_PROXY\u003C\u002Fcode> variables (and their lowercase forms) with the proxy’s address, and \u003Ccode class=\"key\">NO_PROXY\u003C\u002Fcode> with the exclusions. It applies to terminals opened after the change, and also to launch commands and to worktrees’ setup and teardown commands. See \u003Ca href=\"\u002Fen\u002Fdocs\u002Fsettings-network\u002F\">the network settings\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"escouade-s-other-terminals\">Escouade’s other terminals\u003C\u002Fh2>\n\u003Cp>Escouade uses the same terminal elsewhere: each launch command runs in its own, read-only (see \u003Ca href=\"\u002Fen\u002Fdocs\u002Flaunch\u002F\">running the project\u003C\u002Fa>), and an agent’s Claude Code view is Claude Code itself in a terminal (see \u003Ca href=\"\u002Fen\u002Fdocs\u002Fclaude-code-view\u002F\">the Claude Code view\u003C\u002Fa>), and the window that signs in a Claude account shows the account’s \u003Ccode class=\"key\">claude\u003C\u002Fcode> in a terminal (see \u003Ca href=\"\u002Fen\u002Fdocs\u002Faccounts\u002F\">Claude accounts\u003C\u002Fa>).\u003C\u002Fp>\n",[8,12,15,18,22,25,28,31],{"id":9,"text":10,"depth":11},"opening-a-terminal","Opening a terminal",2,{"id":13,"text":14,"depth":11},"the-available-shells","The available shells",{"id":16,"text":17,"depth":11},"in-the-terminal","In the terminal",{"id":19,"text":20,"depth":21},"copying-and-pasting","Copying and pasting",3,{"id":23,"text":24,"depth":21},"escouade-s-shortcuts","Escouade’s shortcuts",{"id":26,"text":27,"depth":21},"searching-clearing-closing","Searching, clearing, closing",{"id":29,"text":30,"depth":11},"the-proxy","The proxy",{"id":32,"text":33,"depth":11},"escouade-s-other-terminals","Escouade’s other terminals",1791926756305]