NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #741 most downloaded on PyPI
A Python implement of Agent Client Protocol (ACP, by Zed Industries)
Last release 13 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 18 of 18 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
21 releases · first in 2025
One column per month.
chore: migrate HTTP client dependency from httpx to httpx2 by @frostming in #143
Full Changelog: 1.0.0rc1...1.0.0rc2
Nothing published for this version
fix(codegen): support datamodel-code-generator 0.71 by @PsiACE in #127
Full Changelog: 0.12.0...0.12.1
feat(schema): bump ACP schema to v1.19.0 (extensible unions + lenient deserialization) by @michelTho in #117
Full Changelog: 0.11.1...0.12.0
fix(connection): log unhandled RPC handler exceptions by @michelTho in #116
Full Changelog: 0.11.0...0.11.1
chore(deps): bump uv from 0.11.6 to 0.11.15 in the uv group across 1 directory by @dependabot [bot] in #107
Full Changelog: 0.10.1...0.11.0
chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in the uv group across 1 directory by @dependabot [bot] in #96
Full Changelog: 0.10.0...0.10.1
chore(deps): bump uv from 0.9.7 to 0.11.6 in the uv group across 1 directory by @dependabot [bot] in #88
Full Changelog: 0.9.0...0.10.0
fix(docs): correct nested agent server entry in Quickstart uv example by @ftnext in #77
uv run by @ftnext in #76Full Changelog: 0.8.1...0.9.0
fix(docs): correct nested agent server entry in Quickstart uv example by @ftnext in #77
uv run by @ftnext in #76Full Changelog: 0.8.1...0.9.0a1
chore(deps): bump the uv group across 1 directory with 4 updates by @dependabot [bot] in #65
session/set_config_option by @Nemtecl in #69Full Changelog: 0.8.0...0.8.1
feat: bump acp schema version to 0.10.5 by @stdrc in #52
Full Changelog: 0.7.1...0.8.0
feat: Update schema to v0.10.3, support fork_session and resume_session unstable API by @frostming in https://github.com/agentclientprotocol/python-sd
Full Changelog: https://github.com/agentclientprotocol/python-sdk/compare/0.7.0...0.7.1
First official release after joining the agentclientprotocol org.
Full Changelog: https://github.com/agentclientprotocol/python-sdk/compare/0.6.3...0.7.0
feat: improve type annotations in RequestError methods by @2725244134 in https://github.com/PsiACE/agent-client-protocol-python/pull/17
Full Changelog: https://github.com/PsiACE/agent-client-protocol-python/compare/0.6.2...0.6.3
follow the agent-client-protocol 0.6.x -> 0.6..2
acp.helpers.embedded_text_resource and embedded_blob_resource now return TextResourceContents / BlobResourceContents rather than the wrapper class. Wr
acp.helpers.embedded_text_resource and embedded_blob_resource now
return TextResourceContents / BlobResourceContents rather than the
wrapper class. Wrap those results with helpers.resource_block(...)
when emitting embedded resources.AvailableCommandsUpdate, CurrentModeUpdate, session mode metadata,
and raw tool-call rawInput / rawOutput fields across the schema.acp.contrib package with
SessionAccumulator for stateful UI aggregation, ToolCallTracker for
agent-side tool stream management, and PermissionBroker to standardise
permission prompts. Extensive contrib test coverage ships under tests/ contrib/.acp.helpers with update_available_commands,
update_current_mode, and richer tool-call builders
(start_read_tool_call, start_edit_tool_call) that populate locations
and raw payloads automatically.docs/contrib.md guide and
surface it in the MkDocs navigation.This release brings the SDK close to production readiness — rebuilt with stronger foundations and a clearer developer experience.
This release brings the SDK close to production readiness — rebuilt with stronger foundations and a clearer developer experience.
Upstream Spec: Regenerated against refs/tags/v0.4.9
Full Changelog: https://github.com/PsiACE/agent-client-protocol-python/compare/0.4.5...0.4.9
Ergonomic type generation with well-planned naming mappings
Full Changelog: https://github.com/PsiACE/agent-client-protocol-python/compare/0.3.0...0.4.5
Follow: https://github.com/zed-industries/agent-client-protocol/releases/tag/v0.3.0
<img width="786" height="463" alt="image" src="https://github.com/user-attachments/assets/f79d744b-f03e-4674-b4a2-140b74e57257" />
Full Changelog: https://github.com/PsiACE/agent-client-protocol-python/compare/0.0.1...0.3.0
A minimal Python SDK for the Agent Client Protocol (ACP). Build agents that talk to ACP clients (e.g. Zed) over stdio.
A minimal Python SDK for the Agent Client Protocol (ACP). Build agents that talk to ACP clients (e.g. Zed) over stdio.
agent-client-protocol (import as acp)pip install agent-client-protocol
import asyncio
from acp import Agent, AgentSideConnection, Client, InitializeRequest, InitializeResponse, PromptRequest, PromptResponse, SessionNotification, stdio_streams, PROTOCOL_VERSION
from acp.schema import ContentBlock1, SessionUpdate2
class EchoAgent(Agent):
def __init__(self, client: Client):
self.client = client
async def initialize(self, _p: InitializeRequest) -> InitializeResponse:
return InitializeResponse(protocolVersion=PROTOCOL_VERSION)
async def prompt(self, p: PromptRequest) -> PromptResponse:
await self.client.sessionUpdate(SessionNotification(
sessionId=p.sessionId,
update=SessionUpdate2(sessionUpdate="agent_message_chunk", content=ContentBlock1(type="text", text="Hello from ACP")),
))
return PromptResponse(stopReason="end_turn")
async def main() -> None:
reader, writer = await stdio_streams()
AgentSideConnection(lambda c: EchoAgent(c), writer, reader)
await asyncio.Event().wait()
if __name__ == "__main__":
asyncio.run(main())
Use this executable from your ACP client.
Your coding agent can read these notes before it upgrades. Set up the MCP server →