GitHub OAuth-only connector + RemoteTrigger: scheduled routine auto-disabled (auto_disabled_repo_access) with zero GitHub App installations

Open 💬 0 comments Opened Jul 5, 2026 by Brian3342

Title

GitHub OAuth-only connector + RemoteTrigger: scheduled routine auto-disabled (auto_disabled_repo_access) with zero GitHub App installations, despite "Authorized" showing connected

Related issues

  • #64130 (closed as duplicate) — "GitHub integration connects via OAuth only — private repos inaccessible in remote agents." Same root symptom: connecting/reconnecting GitHub on claude.ai completes with no App-installation or repo-selection step.
  • #50451 (open) — "Scheduled routine: GitHub App install loop — repo picker doesn't detect already-installed app." Related failure mode on the routine repo-picker side once an install does exist.

Filing this as a fresh report per #64130's own repro steps, since it's closed as a duplicate (implying a canonical still-open issue elsewhere) and this adds a concrete, timestamped data point plus a distinct downstream symptom (RemoteTrigger ended_reason).

Preflight Checklist

  • [x] Searched existing issues; closest matches are #64130 (closed duplicate) and #50451 (open, different symptom — install loop rather than no-install-at-all)
  • [x] Single bug report
  • [x] Using latest Claude Code

What's Wrong?

A RemoteTrigger scheduled routine targeting a private repo I own (Brian3342/blackbox-proposal-playbook) failed at its scheduled run time and was auto-disabled, with no commits or run artifacts produced. Root cause traced to: the GitHub connector on claude.ai is OAuth-authorized but has zero actual GitHub App installations — and disconnecting/reconnecting the connector does not create one.

Environment / identifiers

  • GitHub account: Brian3342
  • Target repo: https://github.com/Brian3342/blackbox-proposal-playbook (private)
  • Trigger name: blackbox-candidate-verification-tier1
  • Trigger ID: trig_01QWH79EdYX7ybG2LsVKwbF6
  • created_at: 2026-07-04T07:28:52.211930Z
  • run_once_at (scheduled fire time): 2026-07-04T08:00:00Z
  • updated_at (when it flipped to disabled): 2026-07-04T08:00:17.973586Z — i.e. it failed within ~17 seconds of the scheduled fire, before doing any work
  • enabled: false
  • ended_reason: "auto_disabled_repo_access"
  • Confirmed via git log on the target repo: no commit exists anywhere near the scheduled run time; the routine did zero work before being disabled

Steps to Reproduce

  1. On claude.ai: Customize → Connectors → connect GitHub. Connection completes immediately (green checkmark), no App-installation or repository-selection screen is ever shown.
  2. Create a RemoteTrigger / scheduled routine (via the schedule skill) sourced from a private repo.
  3. Wait for (or force) the scheduled run.
  4. Routine fails immediately; RemoteTrigger get/list shows enabled: false, ended_reason: "auto_disabled_repo_access".
  5. Check https://github.com/settings/installations:
  • Under "Authorized GitHub Apps" and "Authorized OAuth Apps": Claude is listed (OAuth-level authorization exists).
  • Under "Installed GitHub Apps" (the section with the "Configure" button that actually grants repo-level access): empty — no entry for Claude at all.
  1. Attempted fix: on claude.ai, disconnected the GitHub connector, then reconnected it. Reconnect completed silently (no install/repo-picker prompt of any kind), and settings/installations → "Installed GitHub Apps" remained empty afterward.

Expected Behavior

Connecting (or reconnecting) GitHub on claude.ai should trigger GitHub's actual App-installation flow — the screen where you choose "All repositories" or select specific ones — so that a real installation with repo-level access exists. A RemoteTrigger sourced from a private repo should either work, or fail at creation time with a clear "grant repo access" prompt/link, rather than silently accepting the routine and only failing (with an opaque auto_disabled_repo_access code and no user-facing explanation) at the scheduled run time.

Actual Behavior

  • OAuth-level authorization succeeds and persists (Claude shown under "Authorized GitHub Apps"/"Authorized OAuth Apps").
  • No GitHub App installation is ever created — settings/installations → "Installed GitHub Apps" stays empty through repeated disconnect/reconnect cycles.
  • The routine is accepted at creation time with no warning that the target repo isn't actually accessible.
  • It fails only at the scheduled fire time, silently, with no user-visible error — the only visibility into the failure is via the RemoteTrigger API (action: get/list), which is not exposed in the claude.ai web UI as far as I can tell.

Suggested Fix / Ask

  • Fix the connect/reconnect flow to always route through GitHub's App-installation + repo-selection screen (per #64130).
  • Once #50451's install-loop is also fixed, consider validating repo access at routine-creation time (not just at scheduled-run time), and surface auto_disabled_repo_access (or equivalent) as a visible banner/notification in the claude.ai UI rather than only via the API.

Workaround in use

Skipping the scheduled/unattended path for now; running the equivalent verification pass interactively in a local Claude Code session against the cloned repo instead, since local gh/git auth is unaffected by this bug.

View original on GitHub ↗