Plugin Loader

April 10, 2026 ยท View on GitHub

Source: src/langgraph_kit/core/plugins/loader.py and src/langgraph_kit/core/plugins/registry.py

Load Python plugin files that extend agent capabilities.

Plugin Contract

A plugin is a Python file with a contribute() function:

# my_plugin.py
from langgraph_kit.core.plugins.registry import PluginContribution

def contribute() -> PluginContribution:
    return PluginContribution(
        tools=[my_tool_capability],
        sections=[my_prompt_section],
    )

PluginContribution

class PluginContribution:
    tools: list[ToolCapability] = []
    sections: list[PromptSection] = []

PluginLoader

Methods

MethodDescription
load_from_directory(path)Scan directory for .py files with contribute()
get_contributions()Return all collected contributions

PluginRegistry

Aggregates contributions from all plugins:

Methods

MethodDescription
contrib()Return combined PluginContribution from all loaded plugins

Configuration

Set the plugins_dir field in AgentConfig:

AgentConfig(plugins_dir="/app/plugins/")

During agent startup, the plugin loader scans this directory and calls contribute() on each discovered plugin file.