## The symptom
An agent intermittently fails with:
```
retrieve_from_somewhere_else is not a valid tool, try [retrieve_from_vectorstore]
```
even though both tools were registered. Wrapping an agent as a tool of another
agent also triggered it. The failures were rare and intermittent rather than
consistent, which made them hard to reproduce on demand.
## Why
The model was garbling or truncating long tool names when selecting tools, so
the agent referenced a name that did not match any registered tool. It is a
model behavior problem, not a LangChain bug.
## The fix
Shorten your tool names. The reporter's own fix: renaming long tool names like
`retrieve_from_somewhere_else` to short ones like `use_somewhere_else` stopped
the error entirely.
## Rules of thumb
- Keep tool names short, lowercase, and distinct. The longer the name, the more
likely the model mangles it.
- Intermittent "not a valid tool" errors with correctly registered tools:
suspect name length before suspecting registration.
- Agents-as-tools get long auto-generated names; give them short explicit
names.