You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(lifecycle): stop surfacing the userEnvProbe's benign shell stderr
The userEnvProbe runs an interactive login shell (`bash -lic env`) to capture
the container environment. On a container without a controlling TTY, bash prints
"cannot set terminal process group (N): Inappropriate ioctl for device / no job
control in this shell" to stderr — benign noise the TS CLI does not show.
ShellServer.Exec surfaced *all* command stderr on the log at LevelInfo, so that
probe noise leaked into the visible output of `up` (before postCreateCommand)
and `exec` (before the command result). Make ShellServer.Exec quiet — it is only
called directly by the probe — and move hook-stderr surfacing to
ShellExecutor.Exec via a new ExecWithStderr, so failing/chatty lifecycle hooks
still produce diagnostics.
Verified end-to-end against mcr.microsoft.com/devcontainers/base:ubuntu: the
pre-fix binary reproduces the "no job control" lines on `up`/`exec`; the fixed
binary's output is clean while a real command's own stderr (e.g. "node: command
not found") is still shown.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments