Skip to main content
Placement answers one question — where does this run? — along two axes: the whole agent (runOn / backend) or only its tools (toolsRunOn).

Quick Start

1

A custom backend runs the whole agent

2

Only the tools run elsewhere


The two axes

ManagedBackendLike and ToolPlaceLike are exported interfaces. The default place, LOCAL_TOOL_PLACE, runs a tool unchanged in this process.

Exclusion rules

The two axes are disjoint, so naming two places for the same thing is a typo worth catching. Any of these throws at construction:
Before this change a mis-typed name survived construction and only surfaced on the first model turn — after the prompt was built and, for a real run, after the API spend. Validation now happens at the call site.

Registering hosts

A hosted runtime and a remote tool place are provider integrations that do not ship in the package. A host fills the registries:
Once registered, runOn: 'my-runtime' and toolsRunOn: 'my-sandbox' resolve by name. unregisterManagedRuntime / unregisterToolPlace undo a registration (local cannot be removed).

Reading the resolved placement

Runtime

Delegate the whole turn

Sandbox

Where code runs