pingdotgg / pingdotgg/t3code

[Bug]: GitHub PR creation fails on Windows v0.0.28 with generic createChangeRequest error despite manual gh pr create working

Open
#3,694 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/desktop

Steps to reproduce

  1. On Windows, use T3 Code v0.0.28 with GitHub CLI installed and authenticated.
  2. Open a repo with a GitHub SSH remote, for example git@github.com:<owner>/<repo>.git.
  3. Let T3 Code create/use a generated worktree branch, for example t3code/<generated-id>.
  4. Ensure the generated branch is pushed, has commits ahead of main, and has no existing open PR.
  5. Use T3 Code's source-control action to create a change request / PR for that branch.

Additional validation from the same worktree:

gh auth status
gh repo view --json nameWithOwner,url,defaultBranchRef
gh pr list --head t3code/<generated-id> --state open --json number,title,url

Those commands succeed; the PR list is empty.

A manual dry run of the same PR creation shape also succeeds from the same T3 worktree:

gh pr create --base main --head t3code/<generated-id> --title "T3 Code dry run title with spaces" --body-file <temp-body-file> --dry-run

Output:

Would have created a Pull Request with:
title:  T3 Code dry run title with spaces
draft:  false
base:   main
head:   t3code/<generated-id>
maintainerCanModify: true
body:
dry run

Expected behavior

T3 Code should create the PR successfully, or surface the actual gh stderr/stdout/arguments needed to diagnose why gh exited nonzero.

Actual behavior

The T3 Code source-control action fails with only this generic error:

Source control provider github failed in createChangeRequest: GitHub CLI command failed.

The server logs show the wrapper failure, but not the underlying gh stderr/stdout:

SourceControlProviderError: Source control provider github failed in createChangeRequest: GitHub CLI command failed.
[cause]: GitHubCliCommandError: GitHub CLI failed in execute: GitHub CLI command failed.
[cause]: VcsProcessExitError: VCS process failed in GitHubCli.execute: gh (<redacted T3 worktree path>) exited with 1 - Process exited with a non-zero status.

Impact

Major degradation or frequent failure

Version or commit

T3 Code v0.0.28

Environment

  • OS: Windows
  • GitHub CLI: gh version 2.86.0
  • Git remote: GitHub SSH remote, e.g. git@github.com:<owner>/<repo>.git
  • Branch shape: T3-generated branch, e.g. t3code/<generated-id>
  • gh resolves to a real executable: C:\Program Files\GitHub CLI\gh.exe, not a .cmd shim

Logs or stack traces

SourceControlProviderError: Source control provider github failed in createChangeRequest: GitHub CLI command failed.
[cause]: GitHubCliCommandError: GitHub CLI failed in execute: GitHub CLI command failed.
[cause]: VcsProcessExitError: VCS process failed in GitHubCli.execute: gh (<redacted T3 worktree path>) exited with 1 - Process exited with a non-zero status.

Screenshots, recordings, or supporting files

None.

Workaround

Create the PR manually from the generated T3 worktree:

cd <redacted T3 worktree path>
gh pr create --base main --head t3code/<generated-id> --fill

Notes

This does not look like the older Windows title quoting issue from #1672. The manual gh pr create --dry-run succeeds with spaces in the title, and this is on v0.0.28.

One potentially relevant environment detail: the user's shell startup emitted an unrelated vswhere.exe warning to stderr when commands were run interactively. However, the direct gh pr create --dry-run still exited successfully despite that stderr noise, so it may only be incidental. It would still be useful if T3 logged the exact gh stderr/stdout for the failing createChangeRequest call.

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 at the GitHub provider's createChangeRequest path and the GitHubCli.execute entry point named in the logs. Reproduce the Windows case with the provided gh commands, then compare the failing invocation and captured process output with the successful manual command. Done means PR creation works or the underlying gh arguments and stderr/stdout are surfaced.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, typescript
Domain
desktop, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.