🚨 Sync Error Master Thread

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.22631

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x2924969bee0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\Artemis Marie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\Artemis Marie\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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\Artemis Marie\AppData\Roaming\Anki2\addons21\1322529746\gui\auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

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

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

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

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

  File "C:\Users\Artemis Marie\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

I was adding cards and tried to close Anki when this happened. Now it won’t sync, and the program doesn’t want to open at all

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.22631

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x19c3fe0bac0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\Kayla\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\Kayla\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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\Kayla\AppData\Roaming\Anki2\addons21\1322529746\gui\auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

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

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

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

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

  File "C:\Users\Kayla\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x157f455e0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 96, in _update_single_deck
    self._update_deck_config(ankihub_did)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 112, in _update_deck_config
    deck = self._client.get_deck_by_id(ankihub_did)

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 894, in get_deck_by_id
    response = self._send_request(

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/VanshGulati/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…

Just clicked “sync”…

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-13.6.3-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x3009056a0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 98, in _update_single_deck
    result = self._fetch_and_apply_deck_updates(ankihub_did)

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 120, in _fetch_and_apply_deck_updates
    deck_updates = self._client.get_deck_updates(

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 736, in get_deck_updates
    for chunk in self._get_deck_updates_inner(

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 796, in _get_deck_updates_inner
    response = self._send_request(

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/HeatherBurt/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x128b35460 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 76, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 613, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/shubh/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

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.22631

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x237088fe6a0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\Wyatt Windhorst\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\Wyatt Windhorst\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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\Wyatt Windhorst\AppData\Roaming\Anki2\addons21\1322529746\gui\auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

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

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

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

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

  File "C:\Users\Wyatt Windhorst\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.26100

Traceback (most recent call last):

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

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

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

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

tenacity.RetryError: RetryError[<Future at 0x2708ffb33a0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Users\walts\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 264, 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\walts\AppData\Roaming\Anki2\addons21\1322529746\lib\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

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

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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\walts\AppData\Roaming\Anki2\addons21\1322529746\gui\menu.py", line 335, 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\walts\AppData\Roaming\Anki2\addons21\1322529746\gui\operations\utils.py", line 39, in wrapper
    return func(*args, **kwargs)

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

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

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

  File "C:\Users\walts\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
Just syncing my anki and it throws an add-on error each time.

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-15.1-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x156c13460 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 76, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 613, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/benljohnson15/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
unsuspending cards. Now I cannot sync without it freezing and having this error reoccur.

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x145376fd0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 96, in _update_single_deck
    self._update_deck_config(ankihub_did)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 112, in _update_deck_config
    deck = self._client.get_deck_by_id(ankihub_did)

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 894, in get_deck_by_id
    response = self._send_request(

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/kevin/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

1 Like

Before the error happened, I was…
[Replace this text.]

Last time this happened i just updated and everything was fine, but there aren’t any AnkiHub updates for me to do or any other add-on updates to do. Any advice?

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-14.5-x86_64-i386-64bit

Traceback (most recent call last):

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

  File "/Users/erensakarcan/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/erensakarcan/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/erensakarcan/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 76, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/erensakarcan/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 615, in get_deck_subscriptions
    raise AnkiHubHTTPError(response)

1322529746.ankihub_client.ankihub_client.AnkiHubHTTPError: AnkiHub request error: 500 Internal Server Error

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-14.5-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x114cfbaf0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 76, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 613, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/hannahpeterson/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was attempting to use the AI card finder using a pdf of notes.
Anki now either doesn’t open, crashes right after opening, or opens with errors.

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: macOS-15.1.1-arm64-arm-64bit

Traceback (most recent call last):

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x12fa72f10 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 76, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 613, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/hopesmelser/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…

I followed the instructions to update the AnkiHub Addon, however, the error persists

Error message (don't change this)
Anki 24.04.1 (ccd9ca1a)  (ao)
Python 3.9.18 Qt 5.14.2 PyQt 5.14.1
Platform: macOS-14.5-x86_64-i386-64bit

Traceback (most recent call last):

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x146eb6c40 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 76, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 613, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/vasumalhotra/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

What were the instructions to update? It seems a lot of people are also experiencing the same error. Mine happened when I clicked sync while reviewing cause it was blue.

**Before the error happened, I was. syncing my deck, It load forever and I have to force quit the anki app. sync seems to work on mobile but not desktop.

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-14.3-arm64-arm-64bit

Traceback (most recent call last):

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

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 91, in _update_decks
    raise e

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 98, in _update_single_deck
    result = self._fetch_and_apply_deck_updates(ankihub_did)

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 120, in _fetch_and_apply_deck_updates
    deck_updates = self._client.get_deck_updates(

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 736, in get_deck_updates
    for chunk in self._get_deck_updates_inner(

  File "/Users/martykris/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 803, in _get_deck_updates_inner
    raise AnkiHubHTTPError(response)

1322529746.ankihub_client.ankihub_client.AnkiHubHTTPError: AnkiHub request error: 500 Internal Server Error

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 5.14.2 PyQt 5.14.1
Platform: macOS-13.6.7-x86_64-i386-64bit

Traceback (most recent call last):

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

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 91, in _update_decks
    raise e

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 96, in _update_single_deck
    self._update_deck_config(ankihub_did)

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 112, in _update_deck_config
    deck = self._client.get_deck_by_id(ankihub_did)

  File "/Users/margaretseaton/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 900, in get_deck_by_id
    raise AnkiHubHTTPError(response)

1322529746.ankihub_client.ankihub_client.AnkiHubHTTPError: AnkiHub request error: 500 Internal Server Error

Sentry link (for developers)

Someone named @Brian_BH sent me this from a previous post on the same error " Hello,

In order to fix this, you will want to update your Ankihub addon:

Tutorial: How to update the AnkiHub Add-on "

Error message (don't change this)
Anki 2.1.66 (70506aeb) Python 3.9.15 Qt 6.5.0 PyQt 6.5.0
Platform: macOS-15.1-arm64-arm-64bit
Flags: frz=True ao=True sv=3
Add-ons, last update check: 2024-11-19 22:43:43

Traceback (most recent call last):

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x119e678e0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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


Traceback (most recent call last):

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

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 76, in _sync_with_ankihub_inner
    subscribed_decks = client.get_deck_subscriptions()

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 613, in get_deck_subscriptions
    response = self._send_request("GET", API.ANKIHUB, "/decks/subscriptions/")

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/khushidoshi/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
[Replace this text.]

Error message (don't change this)
Anki 23.12.1 (1a1d4d54)  (ao)
Python 3.9.15 Qt 6.5.3 PyQt 6.5.3
Platform: macOS-15.0-x86_64-i386-64bit

Traceback (most recent call last):

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 256, in _send_request_with_retry
    response = self._send_request_with_retry_inner(

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 326, in iter
    raise retry_exc from fut.exception()

tenacity.RetryError: RetryError[<Future at 0x159e979d0 state=finished raised ReadTimeout>]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 264, 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 "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/lib/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 277, in _send_request_with_retry_inner
    return self.thread_local_session.get().send(

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

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

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='app.ankihub.net', port=443): Read timed out. (read timeout=20)


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 "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/menu.py", line 335, in on_done
    future.result()

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

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

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/utils.py", line 39, in wrapper
    return func(*args, **kwargs)

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 119, in _on_sync_done
    future.result()

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

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

  File "concurrent.futures.thread", line 58, in run

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 111, in <lambda>
    task=lambda: ah_deck_updater.update_decks_and_media(to_sync_ah_dids),

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 61, in update_decks_and_media
    self._update_decks(ah_dids)

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 84, in _update_decks
    should_continue = self._update_single_deck(ah_did)

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 98, in _update_single_deck
    result = self._fetch_and_apply_deck_updates(ankihub_did)

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/gui/deck_updater.py", line 120, in _fetch_and_apply_deck_updates
    deck_updates = self._client.get_deck_updates(

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 736, in get_deck_updates
    for chunk in self._get_deck_updates_inner(

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 796, in _get_deck_updates_inner
    response = self._send_request(

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 238, in _send_request
    response = self._send_request_with_retry(

  File "/Users/rafajmzz/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 266, 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): Read timed out. (read timeout=20)

Sentry link (for developers)

Before the error happened, I was…
I have checked if ankihub had updates and there were not any, and I have updated and downloaded Anki twice so I am not sure what else to do

Error message (don't change this)
Anki 24.06.3 (d678e393)  (ao)
Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
Platform: Windows-10-10.0.26100

Traceback (most recent call last):

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

  File "C:\Users\gcash\AppData\Roaming\Anki2\addons21\1322529746\gui\auto_sync.py", line 99, in sync_with_ankiweb
    future.result()

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

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

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

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

  File "C:\Users\gcash\AppData\Roaming\Anki2\addons21\1322529746\ankihub_client\ankihub_client.py", line 615, in get_deck_subscriptions
    raise AnkiHubHTTPError(response)

1322529746.ankihub_client.ankihub_client.AnkiHubHTTPError: AnkiHub request error: 500 Internal Server Error

Sentry link (for developers)