HarnessRouter Runtime Plugins
Runtime Plugins are HarnessRouter services connected at workspace scope and included explicitly per harness; they are not UHP package plugins.
Page reviewed 4 Oct 2026 Source and review policy
Connect, include and authorize are three different actions
Section titled “Connect, include and authorize are three different actions”The stable self-hosting guide lists Browser, GitHub, Vercel, InsForge and Microsoft 365 in the Runtime Plugin catalogue. Each service has its own configuration and resource permissions. Turning one on at workspace scope does not include it in a harness automatically.
- Connect the service on the Console’s Plugins page and inspect its state: Connected, Needs auth, Disabled or Not connected.
- Set the resource scope, such as a repository or browser site allow/deny lists.
- Include the plugin on the specific harness that needs it (
plugsattachment over the API). - For member-delegated services, sign in as the intended member.
- Run one required read operation, then exercise a denied/unavailable resource path and inspect its reason.
| Browser mode | Network boundary | State/ownership consequence |
|---|---|---|
| Browser Use Cloud/vendor service | Private, local and metadata targets refused | Vendor credential stays at the instance boundary |
Instance’s own HR_BROWSER_CDP_URL browser | Local/private network refusal is lifted; site lists still apply | One context per task; tasks do not share cookies/tabs; no Console live view |
Do not describe the self-hosted browser as enforcing the vendor network restriction. Selecting your own browser moves that trust decision to a machine on your network. Limit reachable resources and site policy accordingly.
For Microsoft 365, distinguish delegated member access from unattended application access. A connected Entra app does not mean every member has authorized it, and an unsigned-in member must not borrow someone else’s identity. The documented plugin exposes nine read tools; it is not a blanket mailbox administration grant.
Use workspace trust for connected configuration admission and routing identity for member/application ownership. UHP Harness Plugins remain the package lifecycle described below; they are not this workspace service plane.
The model
Section titled “The model”PR #266, released in HarnessRouter v0.24.0, adds a plugin service plane. A workspace connects a service once; each harness explicitly includes or excludes it.
The first shipped plugin is browser use. HarnessRouter exposes browser tools through its plugs/MCP layer while keeping vendor credentials and the browser address out of the agent.
PR #350, released in v0.26.18, removes the separate per-organization availability gate. The default had already allowed every organization.
PR #343, released in v0.27.0, adds Microsoft 365 through an organization’s own Entra application. In delegated mode each call runs as the signed-in workspace member; application mode uses the organization’s application identity. A member who has not signed in, or whose Microsoft authorization was revoked, is directed to sign in rather than silently using another person’s identity.
Not the same as UHP Harness Plugins
Section titled “Not the same as UHP Harness Plugins”| Runtime Plugins | UHP Harness Plugins |
|---|---|
| HarnessRouter implementation feature | UHP protocol feature |
| Connected service at workspace scope | Agent Plugins package carried on a harness |
| Included per harness | Installed/bound through protocol package semantics |
| Browser and Microsoft 365 are released implementations | Package may contain MCP servers and skills |
The names overlap, but the lifecycle, ownership and transport are different.
Security boundary
Section titled “Security boundary”The vendor browser service refuses private, loopback, link-local and metadata-address targets. An instance-owned CDP browser lifts that network refusal while retaining domain allow/deny policy. Nothing is included by default.
Microsoft 365 delegated access is member-bound and Microsoft permissions remain the resource boundary.
These controls are HarnessRouter implementation behavior, not normative UHP requirements.