Thanks for the detailed report. I’ve been digging through this and I can see the cd command is constructed as a hardcoded ASCII literal in the extension – the Cyrillic character is not coming from the string itself. That means something else is writing that character into the terminal before the cd arrives.
I have a few hypotheses but need more data to narrow it down. Could you run these tests? Each one isolates a different possible cause.
Test 1: Pre-opened terminal
Purpose: Check if the bug only happens when the agent creates a NEW terminal, or also when reusing an existing one.
Steps:
-
Keep Ukrainian layout active.
-
Open a terminal manually (Ctrl+`).
-
Wait for it to fully initialize (prompt appears).
-
Now ask the agent to run any terminal command.
-
Report: does the сcd bug still happen?
Test 2: Check for stray character on terminal creation
Purpose: Check if the Cyrillic character appears in the terminal even without any agent command.
Steps:
-
Keep Ukrainian layout active.
-
Open Developer Tools: Help > Toggle Developer Tools.
-
In DevTools Console, run:
window.activeTerminal = null;
const vscodeApi = acquireVsCodeApi ? acquireVsCodeApi() : null;
// Alternative: just use the command palette
Actually, simpler approach – just do this:
-
Close all terminals.
-
Open a NEW terminal (Ctrl+`).
-
Do not type anything. Wait for the prompt to appear.
-
Look carefully at the line – is there any character before the cursor/prompt? Take a screenshot.
-
Now type echo hello and press Enter. Does it work, or does it show сecho hello?
Test 3: Terminal trace logging
Purpose: See the exact sequence of data written to the terminal process.
Steps:
-
Open Command Palette (Ctrl+Shift+P).
-
Run: Developer: Set Log Level...
-
Select Terminal from the list.
-
Set it to Trace.
-
Reproduce the bug (with Ukrainian layout, ask agent to run a command).
-
Open Command Palette again, run: Developer: Open Log File... or Output: Show Output Channels... and select Terminal.
-
Copy the full terminal log output and share it here.
This will show every sendText call, every write to the PTY, and the exact timing.
Test 4: Layout switch timing
Purpose: Determine if the bug is tied to layout state at LAUNCH time or at COMMAND time.
Steps:
-
Launch Antigravity with English layout active.
-
After it fully loads, switch to Ukrainian layout.
-
Ask the agent to run a terminal command.
-
Report: does the bug happen?
Then the reverse:
-
Launch Antigravity with Ukrainian layout active.
-
After it fully loads, switch to English layout.
-
Ask the agent to run a terminal command.
-
Report: does the bug happen?
This tells us whether the layout matters at IDE startup or at the moment the terminal is created/used.
Test 5: DevTools Console capture
Purpose: Catch any terminal-related errors or events at the moment of failure.
Steps:
-
Open Developer Tools (Help > Toggle Developer Tools).
-
Go to Console tab.
-
In the Console filter box, type Terminal to filter relevant logs.
-
Reproduce the bug.
-
Screenshot or copy everything that appears in the console during reproduction.
Test 6: Layout configuration details
Please confirm:
-
How many keyboard layouts do you have installed?
-
What is the switch shortcut (Alt+Shift, Win+Space, Ctrl+Shift)?
-
Is Ukrainian the DEFAULT (first) layout in Windows Settings, or secondary?
-
Windows version (e.g. 11 23H2, 11 24H2)?
Any subset of these tests would help. Tests 3 and 4 are the highest priority – the trace log will show exactly what writes to the terminal and in what order, and Test 4 will tell us whether this is a startup-time issue or runtime.