Repository navigation
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Problem
Aggressive IP-based rate limiting can generate false positives for legitimate developers, especially those using mobile networks, carrier-grade NAT (CGNAT), public Wi-Fi, VPNs, or shared corporate networks.
In these environments, multiple unrelated users may share the same public IP address. As a result, one user's activity can contribute to another user's rate limits, potentially blocking legitimate access to free models for extended periods.
While rate limiting is necessary to prevent automated scraping, botnets, and resource abuse, IP addresses alone are not always a reliable indicator of individual user activity.
Proposed Solutions
I suggest considering a layered, risk-based approach to abuse prevention:
- Client-side Proof-of-Work (PoW): Introduce lightweight computational challenges when suspicious activity is detected, increasing the cost of automated abuse without affecting every request.
- GitHub OAuth with account-age signals: Use GitHub authentication and account reputation as optional risk signals. Newly created or suspicious accounts could face additional verification or stricter quotas rather than automatically penalizing all users.
- Account-based rate limiting: Prioritize per-account quotas over strict global IP-based restrictions, while retaining IP-based limits as a secondary safeguard.
- Adaptive enforcement: Apply stricter controls only when abuse indicators exceed defined thresholds, allowing legitimate users on shared networks to continue working.
- Transparent rate-limit feedback: Provide clear error messages and reset times so users understand whether they have reached their personal quota or triggered an abuse-prevention mechanism.
Expected Benefits
- Fewer false positives for legitimate developers.
- Better protection against automated scraping and account abuse.
- Fairer access to free models across shared and mobile networks.
- More predictable rate limits and a better developer experience.
Implementation Considerations
PoW challenges should be lightweight, time-limited, and accessible on low-powered devices. GitHub account age should not be treated as definitive proof of trustworthiness, and authentication should not become an unnecessary barrier for new developers.
A gradual rollout with monitoring and abuse metrics could help evaluate the effectiveness of these measures before replacing existing safeguards.
The goal is not to remove rate limiting, but to make abuse prevention more precise, fair, and resilient without unnecessarily restricting legitimate users.
Activity
opencodejr commentedon Oct 28, 2026
Thanks for the detailed write-up, @AchitoRD! You're suggesting that the free tier lean on per-account limits and risk signals rather than strict IP-based limits: proof-of-work challenges, GitHub account signals, adaptive enforcement and clearer rate-limit feedback. The aim is to stop legitimate users on shared, CGNAT, mobile or VPN networks from being blocked.
The free-model limits are enforced by the OpenCode Zen service rather than the OpenCode app, so most of this would be a change on the service side. Maintainers will consider it.
Related issues:
If you're blocked yourself right now, email help@anoma.ly about it. Please don't post IP addresses or account details here.
neriousy commentedon Oct 28, 2026
Closing this as a duplicate of #59387, the main issue for free tier problems. Feedback about how free tier limits work, including limiting by IP address, is collected there.