cloud: a repository off GitHub that does not clone ends failed, not needs_github

Merged
TE
1d ago
+12-2

Off GitHub, a cmux cloud new-machine --repo clone that fails (a private, missing or offline repository on GitLab, Codeberg or a company server) now ends failed and says why. Before, it ended needs_github, so the app asked the person to connect GitHub and the runner waited to retry after that connect, which can never help a repository on another host. Leo (2026-11-05): "there's GitHub ... and then there's presumably other services, like there's GitLab or whatever."

GitHub repositories keep the needs_github path unchanged.

  • CloudMachineRepo.swift: after every clone path fails, a non-GitHub repo exits through die (status failed, exit 1) before needs_github is set.
  • New test: anotherHostThatDoesNotCloneFailsInsteadOfWaitingForGitHub.

Changelog

Fixed: a Cloud machine whose repository on another host (not GitHub) cannot be cloned reports the failure instead of asking for GitHub access.

Agent session: agent session

šŸ¤– Generated with Claude Code


Autofix with [code]smith
Open in [code]smith Ā· Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes cmux cloud new-machine --repo so that a failed clone from a non-GitHub host (GitLab, Codeberg, a company server) now ends failed and reports why. Before, it ended needs_github, so the app asked the user to connect GitHub and the runner waited to retry after that connection — which can never help a repository on another host.

GitHub repositories keep the needs_github path unchanged.