## 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.