Code change:
for (( i=0; i < "${#str}"; ++i )); do byte="${str:$i:1}" <del> # Escape backslashes, semi-colons specially, then special ASCII chars below space (0x20) </del> <ins> # Escape backslashes, semi-colons specially, then special ASCII chars below space (0x20). # This is done in an unwrapped loop instead of using printf as the latter is very slow. </ins> if [ "$byte" = "" ]; then token="" elif [ "$byte" = ";" ]; then token="x3b" <del> elif (( $(builtin printf '%d' "'$byte") < 31 )); then token=$(builtin printf 'x%02x' "'$byte") </del> <ins> elif [ "$byte" = $'x00' ]; then token="x00" elif [ "$byte" = $'x01' ]; then token="x01" elif [ "$byte" = $'x02' ]; then token="x02" elif [ "$byte" = $'x03' ]; then token="x03" elif [ "$byte" = $'x04' ]; then token="x04" elif [ "$byte" = $'x05' ]; then token="x05" elif [ "$byte" = $'x06' ]; then token="x06" elif [ "$byte" = $'x07' ]; then token="x07" elif [ "$byte" = $'x08' ]; then token="x08" elif [ "$byte" = $'x09' ]; then token="x09" elif [ "$byte" = $'x0a' ]; then token="x0a" elif [ "$byte" = $'x0b' ]; then token="x0b" elif [ "$byte" = $'x0c' ]; then token="x0c" elif [ "$byte" = $'x0d' ]; then token="x0d" elif [ "$byte" = $'x0e' ]; then token="x0e" elif [ "$byte" = $'x0f' ]; then token="x0f" elif [ "$byte" = $'x10' ]; then token="x10" elif [ "$byte" = $'x11' ]; then token="x11" elif [ "$byte" = $'x12' ]; then token="x12" elif [ "$byte" = $'x13' ]; then token="x13" elif [ "$byte" = $'x14' ]; then token="x14" elif [ "$byte" = $'x15' ]; then token="x15" elif [ "$byte" = $'x16' ]; then token="x16" elif [ "$byte" = $'x17' ]; then token="x17" elif [ "$byte" = $'x18' ]; then token="x18" elif [ "$byte" = $'x19' ]; then token="x19" elif [ "$byte" = $'x1a' ]; then token="x1a" elif [ "$byte" = $'x1b' ]; then token="x1b" elif [ "$byte" = $'x1c' ]; then token="x1c" elif [ "$byte" = $'x1d' ]; then token="x1d" elif [ "$byte" = $'x1e' ]; then token="x1e" elif [ "$byte" = $'x1f' ]; then token="x1f" </ins> else token="$byte" fi

Related discussion:
text: The issue was introduced by this PR where becomes extremely slow
I had the same issue and setting to does the trick.
When I just hit the enter key on a bash prompt it takes about 4 seconds for the prompt to return. I ran process monitor and noticed many many (maybe over a hundred) instances of being spawned to run the shellIntegration- script.
Any idea where this ticket is tracked? Every reference to the issue is closed marking duplicate.
Closing an unfixed issue that everyone have ? I don't get the point
I closed this accidentally, have reopened.
worked for me !
Hey guys I'm having the same issue. Running a single is taking over 15 seconds to complete the command. After disabling , bash looks way better
The problem seems to be related to The issue happens also if I start (outside VsCode) my bash thus (same as VsCode does for its terminal): Each time the prompt must be shown (eg, after simply pressing the Enter key) a delay of about two seconds happens. Most of the delay is caused, it seems, by the function In particular, commenting out the line 178 seems to alleviate good part (not all) of the delay. Edit: More specifically, the culprit seems to be If I change the line 109 from to (effectively forcing "the switch to the faster function"), the problem goes away. (BTW: the faster function seems to have a bug of its own, it produces an extra prompt!)
Process monitor screenshot shows it re-running this over and over 89 times when I press enter at the shell prompt "C:Program FilesGitbin..usrbin" --init-file "c:UsersarthuAppDataLocalProgramsMicrosoft VS Coderesourcesapp/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-" !
Disabling is another workaround that improves the delay for me.
Hello Guys, This setting worked for me.
This helped me, thanks!
will move you to the old backend stack which significantly reduces the functionality/capabilities of the terminal. shouldn't do anything. is the right workaround for now, expect a fix soon though
what caused so many bash invocations when shell integration is enabled?
we started reporting the bash prompt in order to better position shell integration markers and understand the prompt.