> ## Documentation Index
> Fetch the complete documentation index at: https://docs.entire.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Fix common repository mirror setup, access, clone, fetch, and push issues.

Use this page when a repository mirror cannot be created, cloned, fetched, pushed to, or accessed by the expected users.

<AccordionGroup>
  <Accordion title="unknown command &#x22;repo&#x22;">
    Your `entire` binary may be older than the repository mirror commands.

    Update Entire from the [updating guide](/updating), then try again:

    ```bash theme={null}
    entire repo mirror create github.com/OWNER/REPO
    ```
  </Accordion>

  <Accordion title="The repository is missing from GitHub App access">
    Confirm that the Entire GitHub App is installed and allowed to access the repository.

    1. Open [GitHub installed apps](https://github.com/settings/installations).
    2. Find **Entire**.
    3. Click **Configure**.
    4. Choose **All repositories** or select the repository you want to mirror.
    5. Save the GitHub App configuration.

    For the full GitHub App setup flow, see [GitHub App Access](/guides/repositories/github-app-access).
  </Accordion>

  <Accordion title="A user cannot create or join a mirror">
    Check both access requirements:

    * The Entire GitHub App can access the repository.
    * The user has access to the repository in GitHub.
    * The user has signed in with the Entire CLI using `entire login`.

    After those are true, the user can create or join the mirror:

    ```bash theme={null}
    entire repo mirror create github.com/OWNER/REPO
    ```

    Entire syncs GitHub collaborators into mirror access hourly. If the user recently got GitHub access or recently signed in to Entire, wait for the next sync or have them run `entire repo mirror create github.com/OWNER/REPO`.

    See [Mirror Access and Permissions](/guides/repositories/mirror-access-and-permissions) for GitHub-synced access, hourly collaborator sync, and self-onboarding.
  </Accordion>

  <Accordion title="Mirror creation takes a while">
    The default create command waits for the initial GitHub-to-Entire clone to finish. Large repositories can take longer.

    If you only need to register the mirror and check back later, use `--no-wait`:

    ```bash theme={null}
    entire repo mirror create github.com/OWNER/REPO --no-wait
    ```
  </Accordion>

  <Accordion title="Git cannot clone or fetch from the mirror">
    First, confirm you are using the `entire://` URL printed by `entire repo mirror create`.

    ```bash theme={null}
    git clone entire://aws-us-east-2.entire.io/gh/<owner>/<repo>
    ```

    If the URL is correct:

    * Run `entire login` to refresh your Entire session.
    * Confirm you have GitHub collaborator access to the repository.
    * If your GitHub access changed recently, wait for the next hourly collaborator sync.
    * Confirm your network can reach the Entire cluster host in the URL.
    * If you added the mirror to an existing checkout, run `git remote -v` and confirm the remote URL.
  </Accordion>

  <Accordion title="Pushes through the mirror are rejected">
    Pushes through a mirror are still authenticated with GitHub.

    If a push is rejected:

    * Confirm the user has write access to the GitHub repository.
    * Confirm branch protection rules and required checks allow the push.
    * Confirm the Entire GitHub App can access the repository.
    * Refresh the user's Entire login.

    ```bash theme={null}
    entire auth logout
    entire auth login
    ```
  </Accordion>

  <Accordion title="A pushed branch does not appear on GitHub">
    Branch names that start with `entire/unmirrored/` are intentionally never synced to GitHub. The branch exists only in the Entire region you pushed it to.

    To publish the work on GitHub, push the commits to a branch name outside the prefix:

    ```bash theme={null}
    git push origin "entire/unmirrored/<branch>:<branch>"
    ```

    See [Unmirrored branches](/guides/repositories/mirrors#unmirrored-branches) for how unmirrored branches work.
  </Accordion>

  <Accordion title="A removed user can still read from a mirror">
    Removing GitHub access prevents push-through writes because pushes are authenticated with GitHub. Clone and fetch access may continue until the next hourly collaborator sync.

    See [Mirror Access and Permissions](/guides/repositories/mirror-access-and-permissions#offboard-a-user) for the offboarding flow.
  </Accordion>

  <Accordion title="The mirror was removed but a local checkout still points to it">
    Removing a server-side mirror placement does not edit local Git configuration.

    Check the remote in the local checkout:

    ```bash theme={null}
    git remote -v
    ```

    To switch back to GitHub:

    ```bash theme={null}
    git remote set-url origin git@github.com:<owner>/<repo>.git
    ```
  </Accordion>

  <Accordion title="Still stuck?">
    Include these details when asking for help:

    * `entire version`
    * the GitHub repository URL
    * the `entire://` mirror URL
    * whether the Entire GitHub App can access the repository
    * whether the issue happens during create, clone, fetch, or push
    * the full error message

    You can file an issue at [github.com/entireio/cli](https://github.com/entireio/cli) or ask in the [Entire Discord](https://discord.gg/jZJs3Tue4S).
  </Accordion>
</AccordionGroup>

## Continue with

<CardGroup cols={2}>
  <Card title="Mirrors" icon="clone" href="/guides/repositories/mirrors">
    Learn how mirrors make GitHub repositories available in Entire.
  </Card>

  <Card title="Mirror Access and Permissions" icon="lock" href="/guides/repositories/mirror-access-and-permissions">
    Understand GitHub-synced access, hourly collaborator sync, and offboarding.
  </Card>
</CardGroup>
