This is by far the most common issue people encountered when they start making queries. You have the right solution, but are looking in the wrong place. When you run a macro like this ?{Which Potion?| Experimental,#Exp | Healing,#Heal | Greater,#Great | Superior,#Superior | Supreme,#Supreme } roll20 first reads all the macros linked, and copies their contents into the query, giving something like ?{Which Potion?| Experimental, the complete Exp macro text here| Healing, the complete Heal macro text here | Greater, the complete Great macro text here | Superior, the complete Superior macro text here | Supreme, the complete Supreme macro text here } and then it tries to run it. So if any of those macros contain a } (not part of an attribute call), the querywill see an end-query symbol, and stop at the point. Likewise other special characters like commas or pipes (|) in the macros will cause breakage. When trying to make such a thing work you have two choices: Copy the complete macros into your query above and then edit the text (adding those html replacements where needed) to make the query work. Modify each macro in place, in the same way. So that when the above query is run, those macros still work. But this will make those macros fail when you try to use them normally. Even if you do either of those, you still haver the problem that opening a macro will remove all html characters and break your fixed query. There are ways to avoid this (storing such macros in a GM Macros character sheet for example). A much better solution than either of those is to switch to chat menus. This allows you to keep using the macros you've already created, without having to edit them at all. With this approach you whisper a message to the person calling the query, and instead of a dropdown they get a a chat message which contains a button for each option. That would look like this: /w "@{selected|character_name}" &{template:default} {{name=Chat Menu} {{[Experimental]( !
 #Exp) [Healing] ( !
 #Heal) [Greater]( !
 #Great ) [Superior]( !
 #Superior ) [Supreme]( !
 #Supreme) }} The above macro sends the menu to the owner of whoever owns the currently selected token. So players can click their own token, and get the menu. It does include a html character (this: !
) so if you store it as a macro, you have to make sure never to reopen it or they will vanish and break the macro.