This error occurs when a Git repository exceeds its Git LFS storage or bandwidth quota on GitHub. The fix involves purchasing additional data packs, removing LFS tracking, or waiting for the monthly bandwidth reset.
Git Large File Storage (LFS) is an extension that replaces large files in your repository with text pointers while storing the actual file contents on a remote server. GitHub provides a limited amount of free LFS storage (1 GB for personal accounts, 250 GB for Team/Enterprise) and bandwidth per month. When you or anyone cloning your repository exceeds this quota, GitHub blocks LFS operations and returns this "over its data quota" error. The quota applies to both storage (total size of LFS objects) and bandwidth (total downloads per month). Importantly, both metrics count against the repository owner's account, not the person doing the clone or pull. This error commonly appears when working with repositories containing large binary files (game assets, machine learning models, media files), when popular repositories get cloned frequently, or when LFS-tracked files are modified repeatedly (each version counts as a new file in storage).
First, determine if you own the repository or if you're cloning someone else's:
- If you own it: You can fix this by purchasing data packs or removing LFS
- If you're cloning someone else's repo: You'll need to contact the repository owner or use a workaround
Check the repository's LFS usage in GitHub:
1. Go to the repository on GitHub
2. Click Settings > Archives (or check billing for your account)
3. View current storage and bandwidth usage
If you need the code but not the large files, skip LFS during clone:
GIT_LFS_SKIP_SMUDGE=1 git clone <repository-url>This downloads the repository with LFS pointer files instead of actual content. You can fetch specific LFS files later when quota resets:
git lfs pull --include="path/to/specific/file.bin"GitHub LFS bandwidth resets on the first of each month. If you're close to the reset date:
1. Wait until the new month begins
2. Clone or pull the repository immediately after reset
3. Consider downloading as a ZIP archive (see next step) to avoid using LFS bandwidth
Note: Storage quota does NOT reset monthly - only bandwidth does.
If you're the repository owner, you can enable LFS in archives:
1. Go to your repository Settings
2. Scroll to Archives section
3. Check Include Git LFS objects in archives
4. Download the repository as a ZIP file
This allows you to get the files without consuming LFS bandwidth quota (though it may still count against storage).
If you need to restore LFS access immediately:
1. Go to GitHub Settings > Billing and plans
2. Under Git LFS Data, click Add more data
3. Purchase a data pack ($5/month for 50 GB bandwidth + 50 GB storage)
For organizations using the new billing platform:
1. Go to Organization Settings > Billing > Budgets and alerts
2. Ensure LFS budget is not set to $0
3. Enable metered billing if prompted
If you no longer want to use LFS, you can remove tracking and keep files in regular Git:
# First, clone with LFS files (wait for quota reset if needed)
git clone <repository-url>
cd <repository>
# Uninstall LFS hooks from the repository
git lfs uninstall
# Remove LFS tracking from .gitattributes
# Edit .gitattributes and remove lines like: *.psd filter=lfs diff=lfs merge=lfs -text
# Untrack files from LFS (converts pointers to actual files)
git lfs untrack "*.psd"
git lfs untrack "*.zip"
# Add the actual files to regular Git
git add .
git commit -m "Remove LFS tracking, store files directly in Git"
git pushWarning: This increases repository size significantly. Only do this if your files are reasonably small (under 100 MB total).
You can configure Git LFS to use a different server:
# Check current LFS endpoint
git lfs env
# Configure a custom LFS server (e.g., self-hosted, AWS S3, etc.)
git config lfs.url "https://your-lfs-server.com/path"Popular alternatives:
- Self-hosted: Set up your own LFS server with git-lfs-server
- GitLab: Offers 10 GB free LFS storage
- Bitbucket: Offers 1 GB free (10 GB with paid plans)
- AWS S3: Use with custom LFS implementation
If you're trying to clone a repository you don't own:
1. Open an issue on the repository explaining the LFS quota problem
2. Ask the maintainer to:
- Purchase additional data packs
- Enable LFS in archives so you can download as ZIP
- Provide an alternative download location for large files
- Consider removing LFS if files aren't too large
Many open-source projects provide alternative download links for large assets (model files, datasets) to avoid LFS quota issues.
### Understanding LFS Quota Calculation
Git LFS usage is calculated as follows:
- Storage: Total size of all unique LFS objects across all branches. Each version of a file counts separately.
- Bandwidth: Total bytes downloaded when fetching LFS objects. Uploads don't count against bandwidth.
Both storage and bandwidth count against the repository owner's account, even when forks or collaborators trigger the usage.
### GitHub Billing Changes (2024)
GitHub has moved to metered billing for LFS:
- Free tier: 1 GB storage + 1 GB bandwidth (personal), 250 GB each (Team/Enterprise)
- Overage pricing: $0.07/GB storage, $0.0875/GB bandwidth per month
- Legacy data packs: $5/month for 50 GB each (still available)
Organizations on the new billing platform may need to remove the $0 budget limit or explicitly enable overage billing.
### Preventing Future Quota Issues
1. Audit LFS usage regularly:
git lfs ls-files -s2. Use .lfsconfig to limit tracked patterns:
git config -f .lfsconfig lfs.fetchexclude "huge-files/*"3. Consider alternatives for very large files:
- Host on cloud storage (S3, GCS) with download scripts
- Use Git submodules pointing to separate repositories
- Use DVC (Data Version Control) for ML/data projects
### Checking Your Quota
View your current LFS usage:
# Via GitHub CLI
gh api user | jq '.disk_usage'
# Or check in GitHub web UI:
# Settings > Billing > Git LFS Datakex_exchange_identification: Connection closed by remote host
Connection closed by remote host when connecting to Git server
fatal: unable to access: Proxy auto-configuration failed
How to fix 'Proxy auto-configuration failed' in Git
fatal: unable to access: Authentication failed (proxy requires basic auth)
How to fix 'Authentication failed (proxy requires basic auth)' in Git
fatal: unable to access: no_proxy configuration not working
How to fix 'no_proxy configuration not working' in Git
fatal: unable to read tree object in treeless clone
How to fix 'unable to read tree object in treeless clone' in Git