Basically, there is a variable-list variable, where it's a list, but it's a variable. It only accepts strings. To crash, I ran "<list> += 1" It's illegal, so Scratch crashes. Ahh whatever just read @2D4eter 's explanation it's very good. https://scratch.mit.edu/projects/1030741411/ Credits to @2D4eter for finding it out :) -------------- How to get the “hacked” list-style variable in Scratch Make a normal variable in Scratch. Go to Variables Click Make a Variable Give it any name. Show the variable on the stage by checking the box next to it. Download your Scratch project Click File → Save to your computer You’ll get a .sb3 file. Rename the file Change: project.sb3 Into: project.zip Extract the ZIP file, then open the file called: project.json Search for your variable name in the "monitors" section. You should see something similar to: { "id": "variable-id-here", "mode": "default", "opcode": "data_variable", "params": { "VARIABLE": "My Variable" } } Change only: "mode": "default" to: "mode": "list" So it becomes: { "id": "variable-id-here", "mode": "list", "opcode": "data_variable", "params": { "VARIABLE": "My Variable" } } Save project.json. ZIP all the project files again. Make sure project.json is directly inside the ZIP, not inside another folder. Rename the new file from: project.zip back to: project.sb3 Open it in Scratch. Now the monitor should look like a list, even though it is actually a normal variable.