Skip to main content
Adapters tell Charm how to call your agent code. Different frameworks expose different runtime objects, so the adapter bridges your code to the Charm runner.

Supported Adapter Types

TypeBest ForEntry Point Style
customPlain Python functions/classesmodule:object
langchainLangChain chains/runnablesmodule:chain
langgraphLangGraph graphsmodule:graph
crewaiCrewAI crewsmodule:crew
openclawOpenClaw/browser-tool agentsOpenClaw host

Configure an Adapter

runtime:
  adapter:
    type: "custom"
    entry_point: "src.main:agent"

Choosing an Adapter

  • Use custom for Python agent that do not use any frameworks.
  • Use langchain, langgraph, or crewai when you already use that framework.
  • Use openclaw for OpenClaw based agents.

Third-party adapter plugins

Any pip package can register additional runtime.adapter.type values via [project.entry-points."charm.adapters"]. These require a custom runtime image on the cloud runner. See Extensibility Overview and Custom Adapters.

Adapter Pages