ReleaseMicrosoftMicrosoftpublished Jun 26, 2026seen Jun 26

microsoft/agent-host-protocol spec/v0.5.0

microsoft/agent-host-protocol

Open original ↗

Captured source

source ↗
published Jun 26, 2026seen Jun 26captured 3dhttp 200method plain

AHP Spec v0.5.0

Repository: microsoft/agent-host-protocol

Tag: spec/v0.5.0

Published: 2026-06-26T23:22:30Z

Prerelease: no

Release notes:

[0.5.0] — 2026-06-26

Spec version: 0.5.0

Added

  • chat/activityChanged action for updating a chat's current activity

description independently of the session summary.

  • root/progress (ProgressParams) generic host→client progress notification,

correlated by a progressToken the client supplies on the originating request (today createSession.progressToken) rather than a domain object. Lets the host report long-running work — e.g. the lazy first-use download of an agent's native SDK — so clients can show an indicator instead of a silent multi-second hang. Carries monotonic progress and optional total; complete when progress === total.

  • createSession.progressToken optional opt-in token for receiving root/progress

notifications about a session's bring-up.

  • SessionModelInfo.maxOutputTokens and SessionModelInfo.maxPromptTokens

optional fields for communicating model token limits.

  • SessionSummary._meta optional provider metadata field for lightweight

session-list presentation hints.

  • JsonPrimitive type alias (string | number | boolean | null) in types/common/state.ts.
  • session/activeClientRemoved action to release a single active client from a

session by clientId.

Changed

  • ConfigPropertySchema.enum now accepts JsonPrimitive[] instead of string[], allowing numeric, boolean, and null enum values.
  • ModelSelection.config values are now JsonPrimitive (string | number | boolean | null) instead of string, allowing numeric, boolean, and null configuration values.
  • SessionState.activeClients (a required array, keyed by clientId) replaces

the single optional SessionState.activeClient. A session may now have multiple concurrent active clients.

  • session/activeClientChanged is renamed to session/activeClientSet with

upsert-by-clientId semantics. It no longer accepts null to unset the active client — dispatch session/activeClientRemoved instead.

Removed

  • session/activeClientToolsChanged. An active client now updates its published

tools by re-dispatching session/activeClientSet with its full, updated entry.

Fixed

  • Corrected the ACTION_INTRODUCED_IN entries for annotations/set,

annotations/removed, annotations/entrySet, and annotations/entryRemoved from 0.3.0 to 0.4.0. The annotations channel first shipped in the 0.4.0 spec release (it is absent from spec/v0.3.0), so version negotiation must not advertise it to peers speaking 0.3.0.

Notability

notability 5.0/10

Protocol spec release from Microsoft, moderate impact.