## The symptom
You pass an `AI21Client` instance as the `llm` to `load_tools` / `initialize_agent`
and the agent never runs. No useful error, it just is not Runnable.
## Why
`AI21Client` from the ai21-python SDK is the raw HTTP API client. LangChain agents
need an object that implements LangChain's `Runnable` LLM interface. The raw client
does not, so the agent cannot call it.
## The fix
Use the dedicated LangChain wrapper from the `langchain_ai21` package:
```python
from langchain_ai21 import AI21LLM
llm = AI21LLM(model="j2-ultra", api_key value "[YOUR_AI21_KEY]")
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)
```
For the chat model (Jamba) use `ChatAI21` from the same package instead of `AI21LLM`.
## Checklist
- `pip install langchain_ai21` if you do not have it.
- Never pass `AI21Client` as `llm`; it is for direct API calls, not LangChain.
- The reporter confirmed their agents ran after switching to the wrapper.
Rule of thumb for any provider: if an SDK object refuses to act as an LLM inside
LangChain, look for a `langchain_[provider]` companion package before debugging
further.