You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documentation/blog/2026-04-08-goose-acp-and-new-tui/index.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,11 +11,13 @@ authors:
11
11
12
12
goose started life in the terminal. The earliest versions were a Python CLI that ran the agent in-process — you typed a message, the model responded, tools executed, and everything happened in a single loop. That simplicity was a strength: it meant anyone with a terminal could start using goose immediately, no app to install, no server to run.
13
13
14
-
As goose grew, so did the ways people wanted to use it. We shipped an Electron desktop app, and suddenly we had two clients with two completely different integration paths. The Rust CLI talked to the agent directly, while the desktop app went through `goosed`, a custom REST + SSE server. Every new feature — session management, extension loading, streaming — had to be wired up in both places. Third-party developers who wanted to build their own clients or IDE plugins had no standard way to connect at all.
14
+
As goose grew, so did the ways people wanted to use it. We shipped an Electron desktop app and suddenly we had two clients with two completely different integration paths. The Rust CLI talked to the agent directly in process, while the desktop app went through `goosed`, a custom REST + SSE server. Every new feature — session management, extension loading, streaming — had to be wired up in both places.
15
15
16
-
We needed a single protocol that any client could speak to reach the same agent core. That's why we built **ACP (Agent Client Protocol)** — one server, one protocol, one contract for every surface. ACP gives us session lifecycle, streaming, and extension management behind a stable interface so that the terminal, desktop, and anything the community builds all get the same capabilities for free.
16
+
Third-party developers have never been able to easily build their own clients, as they had no standard way to connect at all.
17
17
18
-
With that foundation in place, we're now shipping the first clients built on top of it: a brand-new TypeScript TUI you can try today, and a Tauri-based desktop app that replaces Electron. For you, this means a faster, lighter experience in both the terminal and on the desktop — and a clear path for the community to build new clients, plugins, and integrations without reverse-engineering internals.
18
+
We needed a single protocol that any client could speak to reach the same agent core. For this purpose we have chosen [ACP](https://agentclientprotocol.com/), the Agent Client Protocol, as our new default interface to goose — one server, one protocol, one contract for every surface. ACP gives us session lifecycle, streaming, and extension management behind a stable interface so that the terminal, desktop, and anything the community builds will all be able to control goose.
19
+
20
+
With that foundation in place, we're now shipping the first official clients built on top of it: a brand-new TypeScript TUI you can try today and a Tauri-based desktop app that will replace our Electron desktop application. For you, this means a faster, lighter experience in both the terminal and on the desktop — and a clear path for the community to build new client and integrations without reverse-engineering internals.
0 commit comments