spec/v0.6.0

microsoft/agent-host-protocolspec/v0.6.0Jul 20, 2026by github-actions[bot]

Upgrading?

Release notes summary

Defines the protocol specification for AHP 0.6.0, mirroring the Swift package implementation with support for changeset reviews, tool authentication, and notification metadata.

Key Highlights

  • Protocol-level support for per-file changeset review workflows.
  • Standardized OAuth authentication states for MCP tool invocations.
  • Notification metadata slots following the MCP convention.

Breaking Changes

  • Renamed `changeset/filesReviewedChanged` to `changeset/filesReviewChanged` (field `fileIds` → `files`).
  • Input requests moved to turn `responseParts`.

New Features

  • Asynchronous tool-call risk assessments with safety scores.
  • `chat/toolCallAuthRequired` and `chat/toolCallAuthResolved` actions.
  • Connection liveness checks via `AHPCommands.ping(id:)`.

Full Release Notes

## [0.6.0] — 2026-07-20

Spec version: `0.6.0`

### Added

- `Changeset.capabilities` with a `review` presence flag (`ChangesetCapabilities`) so a changeset can advertise support for the per-file review workflow up-front on the session's changeset list. (#328)
- Optional `_meta` slot on `SystemNotificationResponsePart`, following the MCP `_meta` convention. A host MAY attach a machine-readable descriptor of what triggered the notification so clients can categorize, icon, group, filter, or localize it without parsing `content`. (#308)
- `chat/turnStarted` carries a `startedAt` timestamp, `chat/turnComplete`/`chat/turnCancelled`/`chat/error` carry an elapsed `duration` (milliseconds, producer's own clock), and completed turns expose their start time and duration.
- Asynchronous tool-call risk assessments with a model-provided explanation and normalized safety score.
- `ToolCallStatus.AuthRequired` tool call state and `chat/toolCallAuthRequired` / `chat/toolCallAuthResolved` actions so a running MCP-contributed tool call can pause mid-execution on an OAuth challenge (`McpAuthRequirement`) and resume once the client authenticates; surfaced at the session level via a new `toolAuthentication` `SessionInputRequest` variant, and `AuthenticateParams` gained an optional `scopes` field and now accepts resources discovered from a live `McpServerAuthRequiredState` or `ToolCallAuthRequiredState` in addition to `AgentInfo.protectedResources`. `chat/toolCallComplete` now also accepts a failed result while a tool call is `auth-required`, letting a client cancel that invocation without completing the authentication challenge.
- `McpAuthRequirement.oauthClient` metadata for pre-registered public and confidential OAuth clients.

### Changed

- Renamed the changeset review action `changeset/filesReviewedChanged` to `changeset/filesReviewChanged` (field `fileIds` → `files`) and made it client-dispatchable, so a reviewer can toggle a file's `reviewed` flag directly through the write-ahead reducer. (#328)
- Input requests now live in turn `responseParts`, with an optional `response` until `chat/inputCompleted` submits the result. (#327)

Related Repositories