Disambiguation only works for system commands at the moment, and will be added for user handled commands "soon" (tm).
You are on the right path with your workaround code. I posted a fuller example in the document this very evening : https://adventuron.io/docs/tut/#DisambiguationUserCommands
I can't apologise enough for how over-complex this is. Just know it'll be pretty much automatic "soon" (tm) with no such workaround code required at all.