I am unable to download new decks from Anki Hub into my anki

When I try to download new decks a message pops up saying “an anki-hub error has occurred” and it won’t allow me to sync decks that I have subscribed to.

Error message (don't change this)
Anki 24.04.1 (ccd9ca1a)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.19045

Traceback (most recent call last):

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 255, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x1a4db12ed90 state=finished raised SSLError>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 263, in _send_request_with_retry
    response = last_attempt.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 276, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

  File "requests.sessions", line 703, in send

  File "requests.adapters", line 517, in send

requests.exceptions.SSLError: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)')))


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "aqt.taskman", line 142, in _on_closures_pending

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\gui\menu.py", line 333, in on_done
    future.result()

  File "concurrent.futures._base", line 439, in result

  File "concurrent.futures._base", line 391, in __get_result

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\ankihub_sync.py", line 75, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 612, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 237, in _send_request
    response = self._send_request_with_retry(

  File "C:\Users\jsnyd\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 265, in _send_request_with_retry
    raise AnkiHubRequestException(e) from e

1322529746.ankihub_client.ankihub_client.AnkiHubRequestException: AnkiHub request exception: HTTPSConnectionPool(host='app.ankihub.net', port=443): Max retries exceeded with url: /api/decks/subscriptions/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)')))

Sentry link (for developers)

Hello,

Please try this fix: Trouble logging into AnkiHub - #14 by abdo.nh

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.