Skip to main content

Overview

Plugins are extensions that modify agent behavior at the runtime level. They can register new tools, inject system prompt context, intercept messages, and hook into the agent lifecycle. Plugins are the lowest-level extension mechanism in ArgentOS. For a hands-on guide to building your own plugin, see Building Plugins.

Plugin Location

Plugins are discovered from two directories:
Each plugin is a directory containing at minimum an argent.plugin.json manifest and an entry point (index.ts or index.js):

Plugin Manifest

Every plugin has an argent.plugin.json manifest used for discovery and config validation:

Manifest Fields

Plugin Capabilities

Tool Registration

Plugins register tools programmatically in their entry point via api.registerTool():
Tools can be marked as optional (opt-in via allowlists):

System Prompt Injection

Plugins can inject text into the agent’s system prompt via the before_agent_start hook:

Lifecycle Hooks

Service Keys

Plugins can read API keys from ~/.argentos/service-keys.json (managed via the dashboard) rather than requiring separate configuration. See Building Plugins for the full pattern.

Plugin Allowlist

If plugins.allow[] in argent.json has entries, only listed plugins are enabled:
Non-bundled plugins default to enabled when the allowlist is empty.

Tool Name Conflicts

When multiple plugins register tools with the same name, the built-in tool wins. Plugin tools with conflicting names are skipped silently.

Managing Plugins

  • Building Plugins — End-to-end guide with service keys, config persistence, and hooks
  • Marketplace — Browse and install community packages