Lutris improperly parses command to execute
Author: leogottCreated Sep 2, 2026Updated Sep 2, 2026
Bug description
When instructing lutris to run a bash command within an installer, the command value is not the expected string, but rather e.g. a list, the yaml will be valid in the eyes of the website and application, until lutris tries to strip it. Subsequently causing an error popup:
'list' object has no attribute 'strip'
Disregard that the command wouldn't work for one, if not several, reasons; this issue was caused by attempting to enter a [[ dirname x == dirname y ]] as part of a script, and forgetting enclosing quotes.
How to Reproduce
Steps to reproduce the behavior:
- Run an install yaml that contains a step like:
installer:
- execute:
command:
- - 'pwd'- Observe the error popup
Expected behavior
Lutris detects the malformed installer-yaml at some point, and reports the fact, that an assertion failed.
Log output
[INFO:2026-09-02 15:46:26,868:application]: Starting Lutris 0.5.22
[INFO:2026-09-02 15:46:27,017:startup]: "card1" is AMD Radeon RX 580 Series (1002:67df 1682:c580 amdgpu) Driver 26.1.6
[INFO:2026-09-02 15:46:27,155:startup]: "card0" is AMD Ryzen 7 7700X 8-Core Processor (1002:164e 1462:7e28 amdgpu) Driver 26.1.6
[DEBUG:2026-09-02 15:46:27,190:xrandr]: Retrieving resolution list
[DEBUG:2026-09-02 15:46:27,191:xrandr]: Retrieving 40 video modes from XrandR
[DEBUG:2026-09-02 15:46:27,282:path_cache]: Checking for missing games
[DEBUG:2026-09-02 15:46:27,296:api]: Modified at Mi 02 Sep 2026 15:46:08 , will update after Mi 02 Sep 2026 21:46:08
[DEBUG:2026-09-02 15:46:27,297:lutriswindow]: Runtime up to date
[INFO:2026-09-02 15:46:35,414:application]: Starting Lutris 0.5.22
[INFO:2026-09-02 15:46:35,555:startup]: "card1" is AMD Radeon RX 580 Series (1002:67df 1682:c580 amdgpu) Driver 26.1.6
[INFO:2026-09-02 15:46:35,693:startup]: "card0" is AMD Ryzen 7 7700X 8-Core Processor (1002:164e 1462:7e28 amdgpu) Driver 26.1.6
[DEBUG:2026-09-02 15:46:35,694:api]: Fetching installer https://lutris.net/api/installers/game/olliolli-world-rad-edition-1/revisions/37166
[DEBUG:2026-09-02 15:46:35,694:http]: GET https://lutris.net/api/installers/game/olliolli-world-rad-edition-1/revisions/37166
[DEBUG:2026-09-02 15:46:38,908:xrandr]: Retrieving 40 video modes from XrandR
[DEBUG:2026-09-02 15:46:41,692:http]: GET https://lutris.net/api/runners/wine
[DEBUG:2026-09-02 15:46:41,805:wine]: Default wine version is proton-cachyos
[DEBUG:2026-09-02 15:46:41,812:gog]: Download extras for GOG ID 1432794533 and its DLCs
[INFO:2026-09-02 15:46:41,812:gog]: Getting game details for 1432794533
[DEBUG:2026-09-02 15:46:41,812:http]: GET https://auth.gog.com/token?REDACTEDREDACTEDREDACTEDREDACTEDREDACTEDREDACTEDREDACTEDREDACTEDREDACTED
[DEBUG:2026-09-02 15:46:41,995:http]: GET https://api.gog.com/products/1432794533?expand=downloads&locale=de-DE
[INFO:2026-09-02 15:46:42,258:gog]: Getting game details for 1432794533
[DEBUG:2026-09-02 15:46:42,268:http]: GET https://api.gog.com/products/1432794533?expand=downloads&locale=de-DE
[INFO:2026-09-02 15:46:42,315:installer]: Getting files for en1installer0
[INFO:2026-09-02 15:46:42,315:gog]: Getting game details for 1432794533
[DEBUG:2026-09-02 15:46:42,325:http]: GET https://api.gog.com/products/1432794533?expand=downloads&locale=de-DE
[INFO:2026-09-02 15:46:42,356:gog]: Getting download info for https://api.gog.com/products/1432794533/downlink/installer/en1installer0
[DEBUG:2026-09-02 15:46:42,366:http]: GET https://api.gog.com/products/1432794533/downlink/installer/en1installer0
[INFO:2026-09-02 15:46:42,721:gog]: Getting download info for https://api.gog.com/products/1432794533/downlink/installer/en1installer1
[DEBUG:2026-09-02 15:46:42,731:http]: GET https://api.gog.com/products/1432794533/downlink/installer/en1installer1
[DEBUG:2026-09-02 15:46:43,007:installerwindow]: Game files prepared.
[DEBUG:2026-09-02 15:46:43,010:installerwindow]: Presenting installer files page
[DEBUG:2026-09-02 15:48:11,010:files_box]: en1installer1 is available
[DEBUG:2026-09-02 15:48:11,011:files_box]: en1installer0 is available
[INFO:2026-09-02 15:48:11,011:files_box]: All files available
[INFO:2026-09-02 15:48:11,011:installerwindow]: All files are available, continuing install
[INFO:2026-09-02 15:48:11,012:installerwindow]: Launching installer commands
[DEBUG:2026-09-02 15:48:11,013:interpreter]: Creating destination path /home/cake/Games/gog/olliolli-world-rad-edition
[DEBUG:2026-09-02 15:48:11,013:interpreter]: Installer command: {'execute': {'command': [['dirname en1installer0 == en1installer1']]}}
[ERROR:2026-09-02 15:48:11,013:jobs]: Error while completing task <function ScriptInterpreter._iter_commands.<locals>.dispatch at 0x7c24f612d260>: <class 'AttributeError'> 'list' object has no attribute 'strip'
[ERROR:2026-09-02 15:48:11,014:interpreter]: Last install command failed, show error
[INFO:2026-09-02 15:48:23,811:interpreter]: Cancelling installation of OlliOlli World Rad Edition
[DEBUG:2026-09-02 15:48:23,816:wine]: ['/usr/local/bin/umu-run', 'wineboot', '-k']
[DEBUG:2026-09-02 15:48:23,816:wine]: /usr/local/bin/umu-run wineboot -k
[DEBUG:2026-09-02 15:48:24,697:wine]: Waiting for wine processes to terminate
[DEBUG:2026-09-02 15:48:24,697:wine]: Done waiting.
[DEBUG:2026-09-02 15:48:24,697:system]: Trashing folder /home/cake/Games/gog/olliolli-world-rad-edition
[DEBUG:2026-09-02 15:48:24,697:system]: Deleting folder /home/cake/.cache/lutris/installer/olliolli-world-rad-edition-1
[ERROR:2026-09-02 15:48:24,701:portals]: Failed to trash /home/cake/Games/gog/olliolli-world-rad-edition: '/home/cake/Games/gog/olliolli-world-rad-edition' could not be moved to the trash. You will need to delete it yourself.
NoneType: None
[DEBUG:2026-09-02 15:51:55,232:xrandr]: Retrieving resolution list
[DEBUG:2026-09-02 15:51:55,234:xrandr]: Retrieving 40 video modes from XrandR
[DEBUG:2026-09-02 15:51:55,236:xrandr]: Retrieving resolution list
[DEBUG:2026-09-02 15:51:55,237:xrandr]: Retrieving 40 video modes from XrandR
[WARNING:2026-09-02 15:52:06,365:config]: Config key mostrecent not found in AccountName, PersonaName, RememberPassword, WantsOfflineMode, SkipOfflineModeWarning, AutoLogin, Timestamp, steamid64System Information
Vulkan support: YES
Esync support: YES
Fsync support: YES
Wine installed: YES
Gamescope: NO
Mangohud: NO
Gamemode: YES
Steam: YES
In Flatpak: NO
[System]
OS: Pop!_OS 24.04 noble
Arch: x86_64
Kernel: 7.1.5-76070105-generic
Lutris Version: 0.5.22
Python Version: 3.12.3 (main, Jul 15 2026, 23:46:41) [GCC 13.3.0]
Desktop: COSMIC
Display Server: wayland
[CPU]
Vendor: AuthenticAMD
Model: AMD Ryzen 7 7700X 8-Core Processor
Physical cores: 8
Logical cores: 16
[Memory]
RAM: 61.7 GB
Swap: 20.0 GB
[Graphics]
Vendor: AMD
OpenGL Renderer: AMD Radeon RX 580 Series (radeonsi, polaris10, ACO, DRM 3.64, 7.1.5-76070105-generic)
OpenGL Version: 4.6 (Compatibility Profile) Mesa 26.1.6-1pop0~1787580452~24.04~a5619ea
OpenGL Core: 4.6 (Core Profile) Mesa 26.1.6-1pop0~1787580452~24.04~a5619ea
OpenGL ES: OpenGL ES 3.2 Mesa 26.1.6-1pop0~1787580452~24.04~a5619ea
Vulkan Version: 1.3.280
Vulkan Drivers: AMD Radeon RX 580 Series (RADV POLARIS10) (1.4.354), AMD Ryzen 7 7700X 8-Core Processor (RADV RAPHAEL_MENDOCINO) (1.4.354)Media (optional)
No response
Source: lutris/lutris