Because you aren't actually sending the value=pizza part -- & is a special shell character and your command stops there. Try either escaping the & or single-quoting the whole kmtrigger string: open kmtrigger://macro=URL%20test\&value=pizza
or open 'kmtrigger://macro=URL%20test&value=pizza'
(This is KM 10.1.1 and macOS 10.13 -- is it just me or does it work for anyone else? I had the same understanding as @tiffle until I tried it just now!)