Cannot download EPIC games from Heroic
Describe the bug
I have tried multiple workarounds and fixes but nothing seems to work. I believe this is due to the amount of games in my Epic account.
Login succeeds.
Legendary tries to fetch my entire Epic game library.
The request times out after 10 seconds.
Heroic interprets that as a login failure.
My alt epic account works without issues on the same device with the same settings which is almost certainly because it has far fewer games/assets attached, so the API response returns before the timeout.
Is this due to Legendary limitation with large Epic libraries?
Any help would be appreciated!
Add logs
An error has occurred! Try to Logout and Login on your Epic account.
[cli] INFO: Logging in...[Core] INFO: Trying to re-use existing login session...[cli] INFO: Getting game list... (this may take a while)Traceback (most recent call last):File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/connectionpool.py", line 534, in _make_request
response = conn.getresponse()
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/connection.py", line 571, in getresponse
httplib_response = super().getresponse()
File "/usr/lib/python3.13/http/client.py", line 1450, in getresponse
response.begin()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 336, in begin
version, status, reason = self._read_status()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/http/client.py", line 297, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib/python3.13/socket.py", line 719, in readinto
return self._sock.recv_into(b)
~~~~~~~~~~~~~~~~~~~~^^^
File "/usr/lib/python3.13/ssl.py", line 1304, in recv_into
return self.read(nbytes, buffer)
~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/ssl.py", line 1138, in read
return self._sslobj.read(len, buffer)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
TimeoutError: The read operation timed outThe above exception was the direct cause of the following exception:
Traceback (most recent call last):File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/requests/adapters.py", line 644, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/connectionpool.py", line 841, in urlopen
retries = retries.increment(
method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/util/retry.py", line 490, in increment
raise reraise(type(error), error, _stacktrace)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/util/util.py", line 39, in reraise
raise value
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/connectionpool.py", line 536, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/urllib3/connectionpool.py", line 367, in _raise_timeout
raise ReadTimeoutError(
self, url, f"Read timed out. (read timeout={timeout_value})"
) from err
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='launcher-public-service-prod06.ol.epicgames.com', port=443): Read timed out. (read timeout=10)
During handling of the above exception, another exception occurred:Traceback (most recent call last):File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/__main__.py", line 3, in <module>
legendary.cli.main()
~~~~~~~~~~~~~~~~~~^^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/legendary/cli.py", line 3242, in main
cli.list_games(args)
~~~~~~~~~~~~~~^^^^^^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/legendary/cli.py", line 203, in list_games
games, dlc_list = self.core.get_game_and_dlc_list(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
platform=args.platform, skip_ue=not args.include_ue,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
force_refresh=args.force_refresh
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/legendary/core.py", line 415, in get_game_and_dlc_list
self.get_assets(update_assets=update_assets, platform=_platform)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/legendary/core.py", line 361, in get_assets
self.egs.get_game_assets(platform=platform)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/legendary/api/egs.py", line 187, in get_game_assets
r = self.session.get(f'https://{self._launcher_host}/launcher/api/public/assets/{platform}',
params=dict(label=label), timeout=self.request_timeout)
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/app/bin/heroic/resources/app.asar.unpacked/build/bin/x64/linux/./legendary/requests/adapters.py", line 690, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='launcher-public-service-prod06.ol.epicgames.com', port=443): Read timed out. (read timeout=10)Steps to reproduce
- Open Heroic Launcher
- After 5-10 seconds I get the error.
Expected behavior
Open Heroic and have access to my game library
Screenshots
No response
Heroic Version
Latest Stable
System Information
Operating System: SteamOS 3.7.19 Build: 20251124.1 KDE Plasma Version: 6.2.5 KDE Frameworks Version: 6.9.0 Qt Version: 6.8.1 Kernel Version: 6.11.11-valve26-1-neptune-611-gb3afa9aa9ae7 (64-bit) Graphics Platform: X11 Partition: A Processors: 8 × AMD Custom APU 0932 Memory: 14.5 GiB of RAM Graphics Processor: AMD Custom GPU 0932 Manufacturer: Valve Product Name: Galileo System Version: 1
Additional information
No response
Source: Heroic-Games-Launcher/HeroicGamesLauncher