Give an agent five tools and it is fine. Give it twenty or thirty and it starts confusing similar-sounding ones. Give it fifty or more and accuracy collapses: it picks plausible but wrong tools and hallucinates their parameters.
Underneath that is a second gap. Tools are named by engineers in product vocabulary. Users speak in their own. One says set up an email campaign, another says blast my leads, a third says it in German. Same intent, three vocabularies, and a naive retriever only catches the first.
So I stopped treating tool selection as an execution problem. It is a semantic translation problem: the distance between what a user means and what a tool is named. That gap is the main source of tool hallucination in production.
Lexon closes it with a two-tier routing pipeline over a multilingual embedding substrate, a structured disambiguation step, and a personalization layer that learns each user's shorthand over time.
It sits in the runtime next to the memory and intent layers. Those can understand and remember an intent perfectly and still fail at the last inch if the wrong capability fires. Lexon is the piece that makes sure the right one does.