-
Notifications
You must be signed in to change notification settings - Fork 39.7k
Respect the user's preferred shell in agent host terminals #313160
Copy link
Copy link
Closed
Labels
agent-hostIssues for the agent-host implementation (not the protocol)Issues for the agent-host implementation (not the protocol)feature-requestRequest for new features or functionalityRequest for new features or functionalityinsiders-releasedPatch has been released in VS Code InsidersPatch has been released in VS Code InsidersterminalGeneral terminal issues that don't fall under another labelGeneral terminal issues that don't fall under another labelverification-neededVerification of issue is requestedVerification of issue is requested
Milestone
Metadata
Metadata
Assignees
Labels
agent-hostIssues for the agent-host implementation (not the protocol)Issues for the agent-host implementation (not the protocol)feature-requestRequest for new features or functionalityRequest for new features or functionalityinsiders-releasedPatch has been released in VS Code InsidersPatch has been released in VS Code InsidersterminalGeneral terminal issues that don't fall under another labelGeneral terminal issues that don't fall under another labelverification-neededVerification of issue is requestedVerification of issue is requested
Type
Projects
Status
Done
Local, remotes are more complicated than I thought, created separate follow up issues, references below in history.
Today, host-managed terminals in the agent host (the PTY-backed
bash/powershelltools incopilotShellTools.ts) hardcode the shell — on Windows that's always windows pwsh (pwsh 5) regardless of what the user has set up.Making the default better (well... some windows users are passionate git bash users all time) and also respecting user's preferred shell (such as the one defined in setting) would be great.
We allow user to set per OS like:
"terminal.integrated.defaultProfile.windows":terminal.integrated.defaultProfile.*NodeAgentHostStarteralready hasIConfigurationServiceand forwards data to the child via env vars and the AHP root-config bag — same channelcustomizationsuses today. So the workbench resolves the profile viaITerminalProfileResolverServiceand pushes the resolved path/args down on startup and on setting change.agentHost.defaultShellsetting. Simple and isolated, but creates a parallel surface users have to configure separately.terminal.integrated.*.Maybe we'd have dedicated setting for agent host terminal, but if the value is not set there we'll respect user's default terminal profile setting.
Existing behavior on Copilot CLI on chat panel: