Skip to content

gh stack submit fails when remote uses a custom SSH host alias #45

Description

@EricCrosson

gh stack submit exits with an error when the git remote URL uses a custom SSH host alias (e.g. github.com-work) instead of the literal github.com hostname. There is no flag to override the repository, so submit is unusable in this configuration.

Steps to reproduce

  1. Configure ~/.ssh/config with a host alias (common for multi-account setups):

    Host github.com-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_work
    
  2. Clone using the alias:

    git clone git@github.com-work:org/repo.git
    cd repo
    

    git remote get-url origingit@github.com-work:org/repo.git

  3. Initialize a stack and submit:

    git checkout -b layer-1 && git commit --allow-empty -m "layer 1"
    git checkout -b layer-2 && git commit --allow-empty -m "layer 2"
    git checkout layer-1
    gh stack init --adopt -b main layer-1 layer-2
    gh stack submit --draft
    

Actual result

✗ failed to create GitHub client: determining repository: unable to determine current
repository, none of the git remotes configured for this repository point to a known
GitHub host

The --remote origin flag and GH_HOST=github.com env var do not help — the error
is identical with both.

Expected result

gh stack submit pushes the branches and opens draft PRs, the same as it would with a git@github.com:org/repo.git remote.

What I tried

  • gh stack submit --remote origin — same error
  • GH_HOST=github.com gh stack submit — same error
  • GH_REPO=org/repo gh stack submit — gets past host detection, but then pushes to
    git@github.com:org/repo.git instead of the configured alias, so the push fails
    with a key-agent rejection

Workaround

Push branches manually and create PRs one at a time:

git push origin layer-1 layer-2
gh pr create --draft --repo org/repo --base main   --head layer-1 --title "layer 1"
gh pr create --draft --repo org/repo --base layer-1 --head layer-2 --title "layer 2"

Environment

gh version 2.89.0 (nixpkgs)
gh extension: gh stack (github/gh-stack)
OS: macOS
Remote URL format: git@github.com-<alias>:org/repo.git

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug Reportstopic: cli - submit`gh stack submit`: remote/SSH handling, config flags, draft PRs, and submit UX or failures.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions