# Issue 24383 runtime reproduction

Base: 3afb9b366f. Linux fs-29; real `vp run dev` server, browser client at 1280x800.

An isolated checkout fetched main from juliusmarminge/t3code, with remotes:
- origin https://github.com/juliusmarminge/t3code.git
- upstream https://github.com/pingdotgg/t3code.git
- container-use /tmp/issue-24383-mirror.git

Set `git config remote.origin.gh-resolved base`. Create an empty commit on a temporary branch, push that branch only to origin, and set `branch.<branch>.gh-merge-base main`.

Add the isolated checkout as a project using Add project → Local folder. The draft thread disables Git actions, so invoke the same client command through browser evaluation (no mock transport or API):

```js
const {vcsActionManager} = await import('/src/state/vcs.ts');
const {appAtomRegistry} = await import('/src/rpc/atomRegistry.ts');
await vcsActionManager.runStackedAction({environmentId, cwd}).run(appAtomRegistry, {
  actionId: 'issue-24383-before', action: 'create_pr'
});
```

With the local remote: SourceControlProviderError createChangeRequest, Validation Failed; head invalid. Real server trace: POST /repos/pingdotgg/t3code/pulls → 422.

Control: remove only container-use and repeat. Real server trace: POST /repos/juliusmarminge/t3code/pulls → 201; temporary fork PR 2. Its temporary head branch was deleted after capture. No application code or API responses were stubbed.

The reproduction uses an empty commit, so the visible file diff is empty; repository selection and GitHub PR creation are real.
