Home / Docs / Plugins

Plugins

Plugins

Plugins give agents capabilities — from browsing the web to managing files to sending emails. Each plugin exposes a set of tools that the LLM can call during a conversation.

Plugin Purpose Tools Auth Host Access
WebBrowserBrowse web with Playwright7NoNo (network only)
PowerShellExecute commands/scripts2NoYes
FileSystemFile operations + watching13NoYes
TaskManagerGoal/task tracking7NoNo
MemoryVector memory search/save3NoNo
RemindersScheduled notifications2NoNo
Microsoft365EmailRead/send email via M3656Yes (OAuth)No
DockerContainer management2NoYes
AgentManagementCreate/manage agents2NoNo
CaddisFlyPipeline orchestration engine7NoYes
Docker Limitation

Plugins marked "Host Access: Yes" operate on the host machine when running from Visual Studio / .NET CLI. In Docker containers, these plugins are sandboxed to the container filesystem and processes.

WebBrowser

Browse the web using a Playwright-driven Chromium instance. Navigate to pages, extract content as markdown, take screenshots, click elements, fill forms, and execute JavaScript.

Tools
ToolParametersDescription
NavigateAndReadurlNavigate to URL and return page content as markdown
ExtractContentcssSelector?Extract content from current page, optionally scoped by CSS selector
TakeScreenshotfullPage?Capture screenshot of the current page
ClickElementselectorClick an element on the page using CSS selector
FillFormselector, valueFill a form field with a value
GetPageLinksGet all links on the current page
EvaluateJavaScriptscriptExecute JavaScript on the current page and return the result
Configuration

See Plugin Args: WebBrowser:TimeoutMs, WebBrowser:MaxContentLength, WebBrowser:ScreenshotPath, WebBrowser:Headless

Requirements

Playwright with Chromium. Automatically installed on first use.

Security

Blocks navigation to localhost and private network addresses (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).

PowerShell

Execute PowerShell commands and scripts on the host machine. Useful for system automation, file manipulation, and running build scripts.

Tools
ToolParametersDescription
RunCommandcommandExecute a single PowerShell command
RunScriptscriptExecute a multi-line PowerShell script
Configuration

PowerShell:WorkingDirectory, PowerShell:TimeoutSeconds (default 30), PowerShell:MaxOutputLength (default 10000)

Security

Blocked commands: format-volume, clear-disk, stop-computer, restart-computer, invoke-expression/iex, reg delete, set-executionpolicy

Blocked paths: c:\windows, c:\program files

FileSystem

Full file system operations including read, write, copy, move, delete, search, and real-time file watching.

Tools
ToolParametersDescription
ReadFilepathRead file contents
WriteFilepath, contentWrite content to a file (creates or overwrites)
AppendToFilepath, contentAppend content to an existing file
ListDirectorypathList files and directories in a path
SearchFilespath, patternSearch for files matching a pattern
GetFileInfopathGet file metadata (size, dates, attributes)
DeleteFilepathDelete a file
CreateDirectorypathCreate a new directory
MoveFilesource, destinationMove or rename a file
CopyFilesource, destinationCopy a file
WatchPathpath, filter?Start watching a path for changes
StopWatcherwatcherIdStop a file watcher
ListWatchersList all active file watchers
Configuration

FileSystem:RootPath — base directory for all file operations (defaults to a temp directory).

Security

Path traversal protection (cannot escape RootPath). Maximum 10 concurrent file watchers.

TaskManager

Track goals and tasks with priorities, dependencies, and status. Tasks are persisted to a JSON file so they survive restarts.

Tools
ToolParametersDescription
SetGoalgoalSet the overarching goal for the task list
AddTasktitle, priority?, dependencies?Add a new task
UpdateTasktaskId, status?, title?Update task status or details
GetTasksList all tasks with their status
GetNextTaskGet the next actionable task (respects dependencies)
RemoveTasktaskIdRemove a task
ClearTasksClear all tasks
Configuration

TaskManager:RootPath, TaskManager:FileName (default tasks.json)

Task Priorities

1 (Critical), 2 (High), 3 (Normal), 4 (Low). Statuses: Pending, InProgress, Completed, Blocked.

Memory

Save and search information using vector embeddings. Enables persistent, semantic memory across conversations. See Memory & Embeddings for architecture details.

Tools
ToolParametersDescription
MemorySearchquery, source?Search memory using semantic similarity, optionally filtered by source
MemorySavecontent, source?, contentType?Save content to memory (auto-chunked and embedded)
MemoryForgetquery, confirmDelete matching memories (requires confirm: "CONFIRM")
Configuration

Memory:MaxResults (default 5) — maximum number of results returned by MemorySearch.

Reminders

Schedule one-time or recurring notifications. Reminders appear as system messages in the agent's chat.

Tools
ToolParametersDescription
RegisterRemindermessage, triggerTime, recurring?, intervalMinutes?Register a new reminder
UnregisterReminderreminderIdCancel an active reminder

Supports both one-shot reminders (fire once at a specific time) and recurring reminders (fire at regular intervals).

Microsoft365Email

Read, search, and send email via Microsoft Graph API. Requires OAuth setup — see Microsoft 365 Setup.

Tools
ToolParametersDescription
ListEmailsfolder?, count?, unreadOnly?List emails from a folder
SearchEmailsquery, folder?, count?Search emails using KQL syntax
ReadEmailemailIdRead full email content
SendEmailto, subject, body, cc?Send an email
GetMailFoldersList available mail folders
GetConnectionStatusCheck authentication status
Supported Folders

Inbox, SentItems, Drafts, DeletedItems, Archive, JunkEmail

Configuration

Microsoft365Email:MaxResults (default 25), Microsoft365Email:MaxBodyLength (default 10000)

Docker

Run Docker commands and manage containers. Maintains a persistent session for multi-step container workflows.

Tools
ToolParametersDescription
RunDockerCommandcommandExecute a Docker CLI command
GetSessionStatusGet current Docker session status
Configuration

Docker:TimeoutSeconds (default 60), Docker:MaxOutputLength (default 10000), Docker:Shell (default /bin/bash)

Security

Blocks interactive flags (-it, -ti) and command chaining operators (&&, ||, ;, |).

AgentManagement

Create and monitor agents programmatically from within an agent conversation.

Tools
ToolParametersDescription
CreateAgenthandle, agentType, systemPrompt, plugins?Create a new agent at runtime
GetAgentHealthGet health status of all running agents

Useful for orchestration scenarios where one agent needs to spawn specialized agents for sub-tasks.

CaddisFly

Pipeline orchestration engine. Define and execute multi-step command pipelines using an inline DSL or YAML workflow files. Supports parallel execution, approval gates, retry logic, and built-in safety controls. See CaddisFly Documentation for full details.

Tools
ToolParametersDescription
RunPipelinepipelineExecute an inline DSL pipeline string
RunWorkflowworkflowName, variables?Execute a named YAML workflow file
ResumeRunrunIdResume a paused run (e.g., after approval)
GetRunStatusrunIdGet current status and step details of a run
CancelRunrunIdCancel a running or paused pipeline
ListWorkflowsList all available YAML workflow files
GetRunLogsrunIdRetrieve the full log output for a run
Configuration

CaddisFly:WorkingDirectory, CaddisFly:WorkflowPath, CaddisFly:TimeoutSeconds (default 60), CaddisFly:MaxOutputLength (default 10000), CaddisFly:CustomCommands

Security

Enforces a strict safety blocklist that prevents destructive commands (rm -rf, format), eval/dynamic execution (eval, iex), and system path modifications. See Safety for the complete list.

Documentation