diff --git a/apps/api/src/services/terminal_session.py b/apps/api/src/services/terminal_session.py index e45f546..b87110f 100644 --- a/apps/api/src/services/terminal_session.py +++ b/apps/api/src/services/terminal_session.py @@ -155,7 +155,13 @@ class TerminalSession: # Docker exec doesn't forward PTY resize to the container process, # so we need to explicitly set the size inside the container shell. # Send on every resize so the container shell always matches the frontend. - stty_cmd = f"stty cols {cols} rows {rows}\n".encode() + # Use ANSI escape sequences to hide the command from view: + # - \x1b[?25l: hide cursor + # - \x1b[A\x1b[2K: move up and clear line + # - \x1b[?25h: show cursor + stty_cmd = ( + f"\x1b[?25lstty cols {cols} rows {rows}\n\x1b[A\x1b[2K\x1b[?25h" + ).encode() await self.write_input(stty_cmd) logger.debug(f"Sent stty resize to container for session {self.session_id}: {cols}x{rows}")