# Error: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating.

- **ID:** `policy/github-container-registry-pull-limit-exceeded`
- **Domain:** policy
- **Category:** resource_error
- **Error Code:** `toomanyrequests`
- **Verification:** ai_generated
- **Fix Rate:** 88%

## Root Cause

GitHub Container Registry enforces anonymous pull rate limits; unauthenticated requests hit the limit quickly.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| GitHub Container Registry (2024-01) | active | — | — |
| Docker 24.0 | active | — | — |

## Workarounds

1. **Authenticate to GitHub Container Registry: `echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin` then retry the pull.** (90% success)
   ```
   Authenticate to GitHub Container Registry: `echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin` then retry the pull.
   ```
2. **In CI/CD, set the GITHUB_TOKEN environment variable and use `docker login ghcr.io -u $GITHUB_ACTOR -p $GITHUB_TOKEN` before pulling images.** (92% success)
   ```
   In CI/CD, set the GITHUB_TOKEN environment variable and use `docker login ghcr.io -u $GITHUB_ACTOR -p $GITHUB_TOKEN` before pulling images.
   ```

## Dead Ends

- **** — The limit resets slowly (typically 1-6 hours); waiting may not be practical for CI/CD pipelines. (70% fail)
- **** — The error is specific to GitHub Container Registry; switching registries requires configuration changes and may break dependencies. (60% fail)
- **** — GitHub does not allow users to increase the limit; authentication is the only mitigation. (90% fail)
