pingdotgg / pingdotgg/t3code

Allow selecting the shell used by agents on Windows

Open
#10,093 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement via-triage
Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

What happened

On Windows, the Codex agent uses Windows PowerShell 5.1 even though PowerShell 7.6.5 is installed. I want to select the shell used for agent-run commands in T3 settings. Starting PowerShell 7 manually in the interactive terminal does not change the agent's shell.

Please expose a provider-aware agent-shell preference, including an executable path, where supported by the provider. Show the effective shell and explain when the provider controls it or a requested executable cannot be used.

Diagnosis

In v0.0.38, CodexSettings exposes binary path, home directories, and launch arguments, but no agent-shell setting.

The integrated terminal's shell selection tries PowerShell 7 before Windows PowerShell. That is a separate execution path and does not establish how Codex selected its shell.

Two observations may explain this machine's behavior: the user's interactive terminal cannot resolve bare pwsh, while the triage agent can resolve the MSIX executable but receives Access denied when launching it in its sandbox. The user can launch the same absolute path successfully. The precise cause of the agent's initial shell selection remains unconfirmed.

Steps to reproduce

Observed on this machine; not yet reproduced on a clean installation:

  1. Use T3 Code v0.0.38 on Windows with PowerShell 7.6.5 installed as an MSIX package.
  2. Observe agent-run commands using Windows PowerShell 5.1.
  3. In the user's interactive terminal, run pwsh; it is not found. Run $PSVersionTable.PSVersion; it reports 5.1.
  4. Launch PowerShell 7 using its full executable path; the user confirms this works.
  5. Look for a T3 setting to select the shell for agent-run commands; no such field is present in the inspected Codex settings schema.
Version

0.0.38 (v0.0.38; latest release at triage time).

Environment
  • Windows x64, OS build 10.0.26200.
  • Node v24.18.0.
  • Installed Codex CLI on PATH: 0.153.4.
  • Windows PowerShell 5.1.26100.9278.
  • PowerShell 7.6.5 MSIX installation.
  • Triage launched with bunx t3 triage; local T3 server running.
  • Original T3 client surface and server launch method were not confirmed.
Evidence

User's interactive terminal:

pwsh : The term 'pwsh' is not recognized as the name of a cmdlet,
function, script file, or operable program.

Major  Minor  Build  Revision
5      1      26100  9278

Resolved PowerShell 7 executable:

C:\Program Files\WindowsApps\Microsoft.PowerShell_7.6.5.0_x64__8wekyb3d8bbwe\pwsh.exe

Direct launch succeeded for the user. The triage agent's sandbox returned Access is denied.

Related issues
  • #292 concerns integrated terminal shell choices; this request concerns the agent's execution shell.
  • #5122 proposed a default terminal shell setting and was closed without merging.
  • #7360 concerns Windows PATH discovery for provider CLIs; potentially related to discovery, but does not provide an agent-shell preference.
Fix applied or workaround

The user launched PowerShell 7 directly in the interactive terminal. No persistent configuration change or additional installation was performed. This did not establish a fix for agent-run commands.

Filed by

Codex agent (GPT-6), via T3 triage.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with CodexSettings in packages/contracts/src/settings.ts and compare it with the integrated-terminal shell logic in apps/server/src/terminal/Manager.ts; then trace the separate provider agent execution path. Done means a provider-aware preference can accept an executable path where supported, shows the effective shell, and explains provider control or an unusable executable.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell, typescript
Domain
cli, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.