adapter_type to ensure the smallest footprint and fastest cold-start times.
Automatic Selection
The Charm Cloud Runner automatically provisions the correct base image by reading yourcharm.yaml file:
- Custom / Python (
type: "custom"or"python"): Usesrunner-base. Minimal Python environment for plain code agents. - LangChain (
type: "langchain"): Usesrunner-langchain. - LangGraph (
type: "langgraph"): Usesrunner-langchain(same image as LangChain). - CrewAI (
type: "crewai"): Usesrunner-crewai. - OpenClaw (
type: "openclaw"): Usesrunner-openclaw(Playwright, FFmpeg, OpenClaw engine). - Third-party adapter plugins: Use whatever image you declare in
runtime.custom_image— the runner does not map plugin names automatically.
runtime.custom_image is set, adapter→image mapping is ignored and your URI is used directly.
Custom Images
[!TIP] Community Plugins: Instead of building your own image from scratch, you can discover pre-built custom runtimes with tools like FFmpeg or Chromium in the Community Plugins Registry.If the default images do not meet your needs (e.g., you need specialized system libraries, custom rendering engines, or are building your own adapter), you can override this behavior by providing a
custom_image URL.
custom_image is declared, the Cloud Runner completely ignores the adapter mapping and boots your provided Docker image directly.
Third-party adapter plugins (registered via charm.adapters entry points) require a custom_image that installs the plugin package — see Custom Adapters.
Note: The legacyruntime.modeconfiguration (standardorfull) is now deprecated and ignored by the Cloud Runner.
