Skip to content

Toolsets

How CompozyOS groups registry tools into named exposure sets for discovery, policy, and session startup.

For people running agent work4 pages in this section

Toolsets group related tools so CompozyOS can expose a coherent operating surface without forcing every agent or operator to reason about hundreds of individual tool IDs first.

Use toolsets when you need to understand why a session can see one family of tools, why a tool is missing, or how a catalog expands into concrete tool IDs.

In one sentence

A toolset is a named bundle of registry tools with expansion diagnostics.

Inspect toolsets

List known toolsets:

compozy toolsets list -o json

Inspect one expansion:

compozy toolsets info compozy__catalog -o json

What happened: CompozyOS resolved the toolset through the registry and returned the expanded tool IDs plus diagnostics. Use diagnostics when an expected tool is missing or unavailable in the current scope.

Bootstrap and catalog shape

Bootstrap and catalog toolsets identify the registry tools that help an agent orient itself:

Toolset or toolJob
compozy__bootstrapGives a managed agent enough initial runtime context to orient itself.
compozy__catalogExposes the high-level registry catalog.
compozy__tool_searchSearches for tools by descriptor text.
compozy__tool_infoReturns one descriptor, schema, and diagnostics before invocation.

These toolsets no longer cap the hosted MCP projection for a bare managed session. When no agent or session policy narrows the tool surface, hosted MCP projects the full availability-gated callable catalog. Explicit tools, toolsets, deny_tools, session lineage, disabled sources, and approval gates still restrict invocation.

The goal is precise discovery. Agents should not load every tool schema into context on every turn. They resolve the canonical discovery ToolID through the active harness, search, inspect, then invoke the returned tool reference. compozy__tool_list shows the currently callable projection; compozy__tool_search and compozy__tool_info can also report known but denied tools with reason codes.

Operational toolsets

CompozyOS groups runtime capabilities by owning subsystem. These toolsets are canonical IDs that can be granted through agent definitions or inspected through compozy toolsets info.

ToolsetIncludes
compozy__sessionsSession lifecycle, prompt, history, wait, and control tools, including compozy__session_compact.
compozy__tasksTask CRUD, task runs, reviews, execution profiles, and notifications.
compozy__provider_modelsProvider model catalog list, curation, refresh, and source-status tools.
compozy__provider_usageExperimental provider usage read and background refresh tools.
compozy__automationAutomation job, trigger, and run management.
compozy__extensionsExtension marketplace, install, update, enable, disable, and remove tools.
compozy__resourcesDesired-state resource list, info, and snapshot inspection tools.
compozy__mcpMCP server probe/status diagnostics without login or logout tool calls.
compozy__mcp_authRedacted MCP OAuth status for configured servers.
compozy__clarifyOne operator question through the read-only compozy__clarify tool; the wait is unbounded by default.

Toolsets expose current canonical tool IDs only. compozy__session_compact (risk mutating, input {session_id}, experimental) asks the agent of an idle session in the caller's workspace to compact its own context through the command that agent advertises. It follows an unstable upstream agent contract. When the session is busy or the agent advertises no compaction command, the tool fails with the structural error code session_busy or compaction_unsupported. See Session compaction.

How toolsets help operators

Toolsets answer practical questions:

  • Which tools are grouped for a policy grant?
  • Which concrete tool IDs are in this catalog?
  • Is a tool unavailable because of scope, policy, missing daemon state, or configuration?
  • Which tools should a managed agent inspect first?

How toolsets help agents

Agents should treat toolsets as navigation, not as permission to call everything blindly.

Recommended flow:

  1. Use the bootstrap/catalog discovery tools.
  2. Search for the task-specific tool family.
  3. Inspect the descriptor and input schema.
  4. Invoke only after the target and required fields are clear.
  5. Report the result or failure using the owning task/session surface.

On this page