{"version":"2.1.208","anchor":"github-app-check-now-returns-default-branch-and-transient-st","canonical_anchor":"github-app-check-now-returns-default-branch-and-transient-st","heading":"GitHub App check now returns default branch and transient status","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.208\/e\/github-app-check-now-returns-default-branch-and-transient-st","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.208","markdown":"### GitHub App check now returns default branch and transient status\n\n**What**\n\nThe internal GitHub App preflight check now returns the repository's default branch (when available from the API response) and a `transient` flag distinguishing permanent failures from those that might succeed on retry.\n\n**Details**\n\n- `defaultBranch`: populated from `repo.default_branch` in the API response; used by the remote agent to avoid reusing the default branch as its work branch\n- `transient: true`: network errors, timeouts (408, 429), and null-response profile fetches\n- `transient: false`: deterministic failures like missing token scopes or 4xx non-rate-limit responses\n- Improved log message when org UUID is missing: distinguishes between \"profile fetch null (possibly transient)\" and \"token lacks user:profile scope (deterministic)\"\n\n**Evidence**\n\nGitHub App check refactor (search for `\"checkGithubAppInstalled: No org UUID found (token lacks user:profile scope\"`)"}