Unable to download shared deck

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

Error message (don't change this)
Anki 25.09.2 (3890e12c) (ao)
Python 3.13.5 Qt 6.9.1 PyQt 6.9.1
Platform: macOS-15.0.1-arm64-arm-64bit-Mach-O

Traceback (most recent call last):

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/gui/operations/deck_installation.py", line 193, in _download_and_install_decks_inner
    _download_and_install_single_deck(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        deck,
        ^^^^^
        behavior_on_remote_note_deleted=behavior_on_remote_note_deleted,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        recommended_deck_settings=recommended_deck_settings,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/gui/operations/deck_installation.py", line 220, in _download_and_install_single_deck
    notes_data: List[NoteInfo] = AnkiHubClient().download_deck(
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        deck.ah_did, download_progress_cb=deck_download_progress_cb
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 623, in download_deck
    s3_url_suffix = self._presigned_url_suffix_from_key(key=deck_info.csv_notes_filename, action="download")

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/ankihub_client/ankihub_client.py", line 974, in _presigned_url_suffix_from_key
    raise AnkiHubHTTPError(response)

1322529746.ankihub_client.ankihub_client.AnkiHubHTTPError: AnkiHub request error: 400 Bad Request


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


Traceback (most recent call last):

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/.venv/lib/python3.13/site-packages/aqt/taskman.py", line 152, in raise_exception
    raise exception

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/.venv/lib/python3.13/site-packages/aqt/taskman.py", line 148, in _on_closures_pending
    closure()
    ~~~~~~~^^

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/gui/auto_sync.py", line 100, in sync_with_ankiweb
    future.result()
    ~~~~~~~~~~~~~^^

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ~~~~~~~~~~~~~~~~~^^

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception

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

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/gui/operations/ankihub_sync.py", line 120, in _on_new_deck_subscriptions_done
    future.result()
    ~~~~~~~~~~~~~^^

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ~~~~~~~~~~~~~~~~~^^

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception

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

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/gui/operations/deck_installation.py", line 90, in _on_install_done
    import_results: List[AnkiHubImportResult] = future.result()
                                                ~~~~~~~~~~~~~^^

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ~~~~~~~~~~~~~~~~~^^

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception

  File "/Users/astrid/Library/Application Support/AnkiProgramFiles/python/cpython-3.13.5-macos-aarch64-none/lib/python3.13/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/gui/operations/deck_installation.py", line 78, in <lambda>
    task=lambda: _download_and_install_decks_inner(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        decks,
        ^^^^^^
        behavior_on_remote_note_deleted=behavior_on_remote_note_deleted,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        recommended_deck_settings=recommended_deck_settings,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ),
    ^

  File "/Users/astrid/Library/Application Support/Anki2/addons21/1322529746/gui/operations/deck_installation.py", line 210, in _download_and_install_decks_inner
    raise exceptions[0]

1322529746.gui.exceptions.DeckDownloadAndInstallError: Error while downloading and installing deck 8c7cc426-c4cc-4ee7-8c4e-bdf813ad774f: AnkiHub request error: 400 Bad Request

Sentry link (for developers)

Hello

Could you please try updating the AnkiHub add-on?

  1. On your Anki main screen, go to Tools > Add-ons > Check for Updates.
  2. After the update is complete, please restart Anki.

If the issue persists, to help us investigate this further, could you please upload your logs?

Here’s how:

  1. In the Anki app, navigate to the menu: AnkiHub > Help > Upload Logs.
  2. A filename will be shown in a confirmation pop-up. Please copy and paste that filename here for us.

Let us know if you continue to experience this issue! :blush: