langchain

Build agents with a prebuilt architecture and integrations for any model or tool. Use when creating tool-calling agents, switching model providers, or adding…

npx skills add https://github.com/langchain-ai/docs --skill langchain

LangChain

LangChain is an open-source framework with a prebuilt agent architecture and integrations for any model or tool. Build agents and LLM-powered applications in under 10 lines of code, with integrations for OpenAI, Anthropic, Google, and hundreds more.

When to use

Use LangChain when you need to:

  • Build tool-calling agents with create_agent() and a prebuilt agent loop
  • Switch model providers without changing application code via init_chat_model()
  • Add structured output to parse LLM responses into typed objects
  • Integrate with any model or tool using LangChain's provider packages
  • Use middleware for cross-cutting concerns like rate limiting and caching

When NOT to use

  • For complex multi-step workflows with custom control flow, use LangGraph instead
  • For a batteries-included agent with planning, subagents, and context management, use Deep Agents instead
  • LangChain provides the core building blocks; LangGraph adds orchestration; Deep Agents adds high-level capabilities on top

Install

# Python
pip install -U langchain

# JavaScript/TypeScript
npm install langchain @langchain/core

Install a provider integration:

# Python
pip install -U langchain-openai       # or langchain-anthropic, langchain-google-genai

# JavaScript/TypeScript
npm install @langchain/openai         # or @langchain/anthropic, @langchain/google-genai

Quick reference

Create an agent

from langchain.agents import create_agent

def get_weather(city: str) -> str:
    """Get weather for a given city."""
    return f"It's always sunny in {city}!"

agent = create_agent(
    model="openai:gpt-5.5",
    tools=[get_weather],
    system_prompt="You are a helpful assistant",
)

result = agent.invoke(
    {"messages": [{"role": "user", "content": "What is the weather in SF?"}]}
)

Initialize a chat model

from langchain.chat_models import init_chat_model

# Switch providers by changing the string
model = init_chat_model("openai:gpt-5.5")
model = init_chat_model("anthropic:claude-opus-4-8")
model = init_chat_model("google_genai:gemini-3.6-flash")

Define a tool

from langchain.tools import tool

@tool
def search(query: str) -> str:
    """Search the web for information."""
    return "search results"

Gotchas

  1. Snake_case tool names—Tool function names must be valid Python identifiers. Use get_weather, not get-weather.
  2. Reserved parameters—Do not name tool parameters type, name, or description as these conflict with the tool schema.
  3. Provider packages—Models live in separate packages (e.g., langchain-openai). The base langchain package does not include providers.
  4. Model string format—Use "provider:model-name" format with init_chat_model() (e.g., "openai:gpt-5.5").

Key documentation

API reference

For SDK class and method details, use the LangChain API Reference site:

  • Browse: https://reference.langchain.com/python/langchain-core
  • MCP server: https://reference.langchain.com/mcp

Related skills

  • langgraph—Low-level orchestration for stateful, durable agent workflows
  • deep-agents—Batteries-included agent harness built on LangChain
  • langsmith—Trace, evaluate, and deploy your LangChain agents

More skills from langchain-ai

langgraph-docs
langchain-ai
Access LangGraph documentation to build stateful agents and multi-agent workflows. Fetches official LangGraph Python docs covering state machines, graph-based agent design, and human-in-the-loop patterns Prioritizes relevant documentation by query type: implementation guides for how-to questions, concept pages for theory, tutorials for end-to-end examples, and API references for technical details Automatically selects 2–4 most relevant documentation URLs and retrieves their content to answer...
official
langgraph-human-in-the-loop
langchain-ai
Pause graph execution for human review, approval, or validation, then resume with their input. Requires three components: a checkpointer (InMemorySaver or PostgresSaver), a thread ID in config, and JSON-serializable interrupt payloads interrupt(value) pauses and surfaces data; Command(resume=value) resumes and returns that value to the paused node All code before interrupt() re-executes on resume, so side effects must be idempotent (use upsert, not insert) Supports approval workflows,...
official
web-research
langchain-ai
Use this skill for requests related to web research; it provides a structured approach to conducting comprehensive web research
official
langchain-oss-primer
langchain-ai
ALWAYS START HERE for any LangChain, Deep Agents, or LangGraph agent building project. Required starting point before choosing other skills or writing any…
official
skill-creator
langchain-ai
Guide for creating effective skills that extend agent capabilities with specialized knowledge, workflows, or tool integrations. Use this skill when the user…
official
social-media
langchain-ai
Drafts platform-specific social media posts with research-backed content and generated companion images. Supports LinkedIn posts (1,300 characters with professional tone) and Twitter/X threads (280 characters per tweet with 1/🧵 format) Requires delegating research to a subagent before writing, then reading findings to ensure accuracy and relevance Generates eye-catching social images automatically using generate_social_image tool with bold, high-contrast compositions optimized for small...
official
deep-agents-memory
langchain-ai
Pluggable memory and file backends for Deep Agents with ephemeral, persistent, and hybrid routing options. Four backend types: StateBackend (thread-scoped, ephemeral), StoreBackend (cross-session persistent), FilesystemBackend (real disk access for local dev), and CompositeBackend (route different paths to different backends) FilesystemMiddleware provides six file operation tools: ls , read_file , write_file , edit_file , glob , grep CompositeBackend uses longest-prefix matching to route...
official
deep-agents-orchestration
langchain-ai
Orchestrate subagents, plan multi-step tasks, and require human approval for sensitive operations. Delegate work to specialized subagents via the task tool; custom subagents support isolated tool sets and system prompts, while the default "general-purpose" subagent inherits main agent configuration Plan and track complex workflows with write_todos , organizing tasks across pending, in-progress, and completed states; requires a thread_id for persistence across invocations Implement...
official