# LangChain v1 namespace
What is in `langchain` now:
- `langchain.agents` - create_agent, AgentState
- `langchain.messages` - message types, trim_messages
- `langchain.tools` - the @tool decorator, BaseTool
- `langchain.chat_models` - init_chat_model
- `langchain.embeddings` - init_embeddings
What moved to `langchain-classic` (install it, then import from `langchain_classic`):
- Legacy chains: LLMChain, ConversationChain, anything from the old `langchain.chains`
- Retrievers from the old `langchain.retrievers` (MultiQueryRetriever etc.)
- The indexing API (`langchain.indexes`)
- The hub module for managing prompts programmatically
- Embedding helpers like CacheBackedEmbeddings and the old community embeddings
- Old `langchain-community` re-exports
```
pip install langchain-classic
```
```python
from langchain_classic.chains import LLMChain
```
## Rules
- If an import from `langchain` that your training data swears exists now fails, check whether it moved to `langchain_classic` before assuming a broken install. The old paths are not aliases; they are gone from the core package.
- For new agent code, stay in the five current modules. Reaching for langchain-classic for new code is a smell.
- Requires langchain 1.0.0 plus, langchain-core 1.0.0 plus, Python 3.10 plus.