Introduction
------------

Even within a site's relatively focused range of topics (it's unlikely anybody on SO will think [sun](/questions/tagged/sun "show questions tagged 'sun'") refers to the solar system's star), some tags are inherently ambiguous.

**There are currently two unsatisfying options:**

1. Declare that the tag is only to be used for one of the possible meanings, write a tag wiki explaining it, and link from there to the newly created tags for the other meanings, and keep cleaning up the tag whenever someone ignores the tag wiki popup explaining the tag.
2. Use alternative tags for all meanings (e.g. `cd-command` and `compact-disk`, instead of `cd`), and keep removing the undesired tag whenever it pops up again. And it will. The [rep requirement](https://meta.stackoverflow.com/privileges/create-tags) is not deterring users from creating unnecessary or redundant tags.

**Blacklisting** tags is a complicated ritual occurring once in a blue moon, at most, and involves a dragon, a team member, and sacrifices to be burnt. It also makes those other, unambiguous tags not easier to discover, if it were applied to ambiguous tags. I don't consider this to be a viable option in this case.

Proposal
--------

Here's the proposed [feature-request](/questions/tagged/feature-request "show questions tagged 'feature-request'"):

Just like a tag can be declared a *synonym* of another tag, basically changing all references to the synonym to references to that other, canonical tag, it should be possible to make it a **disambiguation tag** (or **ambiguous tag**) for multiple other tags. It's a logical progression from "*You entered a term with the same meaning as this other term*" to "*You entered a term with the same meaning as one of these other terms, **please choose the correct meaning***".

Use of the tag should force the user to choose one of the alternatives presented:

* "[You entered 'as'](https://meta.stackexchange.com/questions/96054/the-stack-overflow-as-tag-is-very-ambiguous), did you mean [as-keyword](/questions/tagged/as-keyword "show questions tagged 'as-keyword'") or [actionscript](/questions/tagged/actionscript "show questions tagged 'actionscript'")?"
* "[You entered 'vb'](https://meta.stackexchange.com/questions/122968/can-we-permanently-ban-the-ambiguous-vb-tag), did you mean [vb6](/questions/tagged/vb6 "show questions tagged 'vb6'"), [vb.net](/questions/tagged/vb.net "show questions tagged 'vb.net'"), or [virtualbox](/questions/tagged/virtualbox "show questions tagged 'virtualbox'")?"
* "You entered 'vm', did you mean [virtual-machine](/questions/tagged/virtual-machine "show questions tagged 'virtual-machine'") or [virtual-memory](/questions/tagged/virtual-memory "show questions tagged 'virtual-memory'")?"
* "You entered 'sas', did you mean [serial-attached-scsi](/questions/tagged/serial-attached-scsi "show questions tagged 'serial-attached-scsi'") or [sas-software](/questions/tagged/sas-software "show questions tagged 'sas-software'")?"
* "You entered 'kvm', did you mean [kvm-switch](/questions/tagged/kvm-switch "show questions tagged 'kvm-switch'") or [kernel-based-vm](/questions/tagged/kernel-based-vm "show questions tagged 'kernel-based-vm'")?"
* "You entered 'mono', did you mean [mono-framework](/questions/tagged/mono-framework "show questions tagged 'mono-framework'") or [audio](/questions/tagged/audio "show questions tagged 'audio'")?"
* "You entered 'dsl', did you mean [digital-subscriber-line](/questions/tagged/digital-subscriber-line "show questions tagged 'digital-subscriber-line'") or [damn-small-linux](/questions/tagged/damn-small-linux "show questions tagged 'damn-small-linux'")?"

Not all of these examples might be *good* (I'm not sure e.g. about the first two SO examples), but that's not really the point here anyway — they should just convey how this could be used.

Note how some of these tags would probably never be used if users had to type them, and yet everything shorter is ambiguous.

This could probably be mostly solved by extending the synonym/tag wiki excerpt dropdowns shown when a user enters the tags, proposing the alternatives for an ambiguous tag entered by the user (like a synonym suggestion, but with multiple options). If ignored, the user could still be shown an error message like with blacklisted tags, but by designing the selection dialog well, it should be possible to prevent that in most cases.

![Mockup of error message when the user ignores unambiguous tag suggestions](https://i.stack.imgur.com/iij7r.png)

Related topics
--------------

* [Suggest disambiguation to user when tagging](https://meta.stackexchange.com/questions/100070/suggest-disambiguation-to-user-when-tagging)

This topic is related, but the user seems to have accepted the inclusion of tag wiki excerpts in the tag suggestions drop-down as sufficient.
* [How should ambiguous tags be dealt with?](https://meta.stackexchange.com/questions/50218/how-should-ambiguous-tags-be-dealt-with)

This requires extensive discussion and team involvement (i.e. the status quo)
* [How to handle tags with multiple meanings?](https://meta.stackexchange.com/questions/6928/how-to-handle-tags-with-multiple-meanings)

This topic has no real solution, except manual retagging.