binary-husky/gpt_academic · error · Exception
Authentication failed. You have not been accepted into the b
Error message
Authentication failed. You have not been accepted into the beta.
What it means
Synchronous conversation-creation variant: the HTTP call succeeded (or the fallback was used) but response.json() raised JSONDecodeError (or NotAllowedToAccess), meaning the endpoint returned HTML/an error page instead of the conversation JSON. edge_gpt_free wraps this as 'Authentication failed. You have not been accepted into the beta.'
Source
Thrown at request_llms/edge_gpt_free.py:345
self.session.cookies.set(cookie["name"], cookie["value"])
# Send GET request
response = self.session.get(
url=os.environ.get("BING_PROXY_URL")
or "https://edgeservices.bing.com/edgesvc/turing/conversation/create",
)
if response.status_code != 200:
response = self.session.get(
"https://edge.churchless.tech/edgesvc/turing/conversation/create",
)
if response.status_code != 200:
print(f"Status code: {response.status_code}")
print(response.text)
print(response.url)
raise Exception("Authentication failed")
try:
self.struct = response.json()
except (json.decoder.JSONDecodeError, NotAllowedToAccess) as exc:
raise Exception(
"Authentication failed. You have not been accepted into the beta.",
) from exc
if self.struct["result"]["value"] == "UnauthorizedRequest":
raise NotAllowedToAccess(self.struct["result"]["message"])
@staticmethod
async def create(
proxy=None,
cookies=None,
):
self = _Conversation(async_mode=True)
self.struct = {
"conversationId": None,
"clientId": None,
"conversationSignature": None,
"result": {"value": "Success", "message": None},
}
self.proxy = proxyView on GitHub (pinned to d6bde0fa54)
Solutions
- Inspect the printed response text — HTML indicates a consent/captcha/region page; act accordingly (fresh cookies from an enrolled browser session)
- Regenerate NEWBING_COOKIES from an Edge browser where Copilot works, then retry
- Route through a residential/clean egress IP or a working BING_PROXY_URL
- If the API surface changed, update the pinned edge_gpt_free client or migrate to an official API-backed bridge
Defensive patterns
Strategy: try-catch
Validate before calling
import json, requests
r = requests.get('https://edgeservices.bing.com/edgesvc/turing/conversation/create', cookies=cookies, timeout=10)
try:
r.json()
json_ok = True
except ValueError:
json_ok = False # HTML gate page -> this error will follow
print('endpoint returns JSON:', json_ok) Try / catch
try:
convo = _Conversation(...)
except Exception as e:
if 'not been accepted into the beta' in str(e):
cookies = harvest_fresh_edge_cookies() # enroll + export cookie jar
convo = _Conversation(..., cookies=cookies)
else:
raise Prevention
- Export the whole cookie jar from a Copilot-enabled Edge profile, not just _U
- Avoid datacenter IPs for the free Bing bridge
- Detect HTML responses early (content-type check) and fail with a clear message
When it happens
Trigger: request_llms/edge_gpt_free.py:345: conversation/create responds 200-family or redirects to an HTML consent/block page (e.g. Bing challenge, region gate), so parsing JSON fails. Common when the account/cookie is not enrolled in the Copilot beta or Bing serves a captcha page.
Common situations: Cookies from a browser not signed into Copilot; datacenter IP served an interstitial; churchless fallback proxy returning an HTML error page; endpoint schema changed after a Bing update breaking this free client.
Understand the failure class
- Authentication and authorization failures — expired tokens, bad credentials, and missing scopes.
Related errors
- Authentication failed
- self.struct["result"]["message"]
- Update web page context failed
- Doc2x return an error: Trace ID: {trace_id} {uid} {response.
- 你提供了错误的API_KEY。 1. 临时解决方案:直接在输入区键入api_key,然后回车提交。 2. 长效解决方
AI-assisted analysis of binary-husky/gpt_academic@d6bde0fa54 (2026-08-14).
Data as JSON: /api/errors/1a6fdeaaeefe2164.
Report an issue: GitHub.