Build1 distinct publisher3 min readPublished
Kitty's OSC 5522 has landed in libghostty, giving SSH-bound editors and coding agents one protocol for screenshots. Nothing changed for 1.3.1 users, and the relays in between still have to catch up.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
OSC 5522 breaks payloads into decoded chunks of no more than 4,096 bytes and base64-encodes them for transit [7]. A one-megabyte screenshot therefore crosses the terminal boundary as at least 256 separate chunks [1], each roughly 5,464 characters wide once encoded [2]. Escape sequence streams were built for lines of text, and every component in the path now has to shuttle that volume without dropping or reordering a piece. The specification also defines permission prompts and error responses [6], which carries more weight here than it did for text, because a clipboard that can hand arbitrary MIME data to a remote process is a different security question from one that can hand over a line.
The commit trail is unusually honest about staging. The August 21 implementation commit added the request parser, response encoder, MIME handling, permission grants and multipart write state, and stated outright that the application-runtime hooks were not connected, so none of it functioned in the real binary [8]. An August 22 commit connected OSC 5522 reads to libghostty's clipboard callback [9], and read and write paths followed in the development tree [10]. Three days separate the first parser from Hashimoto's announcement [4]. That pace explains the caveat attached to it: what exists is a tree, not a tag [2], and anyone on 1.3.1 gets nothing from it today [3].
The demand came from a specific failure. A program on the far side of an SSH hop cannot read the clipboard on the machine in front of the user, which is why screenshots have been awkward in remote editor and AI coding tool workflows [11], and Ghostty contributors filed an image clipboard request and a remote image proposal about it [12]. Ghostty answers the terminal end. The bytes still have to survive whatever multiplexer sits between the application and the terminal, and that layer has to implement OSC 5522 too [13]. Worth noting that multiplexers are the layer RuntimeWire reported in July that Hashimoto's other venture, Superlogical, is building on with former HashiCorp colleagues, around durable software sessions [19]. Separate projects, same missing link.
How far this travels is a governance question as much as a technical one. libghostty is the shared Zig core behind both the macOS and Linux applications [14], and Hashimoto has said he wants other developers building their own terminals, editors and embedded command lines on it [15]. Ghostty's intellectual property went to a federally recognized nonprofit in 2025, and he has said he does not intend to commercialize it [17], with sponsorship money funding development and paid contributor contracts while he remains project lead [18]. Nothing in that structure rewards reserving image clipboard for a paid tier. The reach figure is softer: Hashimoto says Ghostty and libghostty together reach millions of daily users but has published no methodology [16], which makes it an assertion about adoption rather than a measurement of it.
Ranked by verification strength, evidence, and original report placement.
Ghostty's architecture separates platform-native desktop interfaces from a shared Zig core, and the macOS and Linux applications both consume libghostty.
Hashimoto wants other developers to use libghostty for their own terminals, editors and embedded command-line interfaces.
Mitchell Hashimoto (@mitchellh) said on X on August 24 that Ghostty and its reusable terminal engine, libghostty, now implement Kitty's clipboard protocol for non-text data, including images.
The clipboard work is in Ghostty's development tree and has not reached a tagged stable release.
A Ghostty 1.3.1 user cannot assume image transfer is available today.
Support at the terminal layer does not automatically make every editor, multiplexer or coding agent compatible.
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Primary announcement and dated commits, single outlet
The protocol description, the dated commit progression and the release-state caveats are specific and checkable, and the publisher cites the primary announcement plus repository history rather than paraphrasing a press release. But the entire cluster is one publisher with no independent corroboration, and the one quantitative reach figure is explicitly unmethodized.
Development-tree only, no downstream implementers observed
Adoption is limited to code landing in Ghostty's own development tree. The newest stable build predates the feature, no stable target is named, libghostty has no versioned stable API for embedders, and the supplied material shows no editor, multiplexer or coding agent implementing OSC 5522. Kitty defining the protocol and Ghostty adopting it makes two codebases, which is the whole observable footprint.
Announcement outruns shipping state; coverage largely corrects for it
The phrasing that Ghostty and libghostty 'now implement' the protocol reads as a shipped capability when only development-tree code exists, hooks were unconnected days earlier, and no stable release contains it. The gap stays small because the publisher itself foregrounds the caveats, names 1.3.1 as the current stable build, flags the moving libghostty API and declines to treat the user-count claim as verified.
Nonprofit stewardship, with an adjacent venture and self-citation
Ghostty's IP sits with a nonprofit, commercialization is disclaimed, and sponsorship money is described as funding development and contributor contracts, which removes the usual paid-tier motive for gatekeeping a protocol feature. Residual incentive pressure comes from Hashimoto's separate multiplexer venture Superlogical, from a library strategy that benefits from being seen as shared infrastructure, and from the publisher citing its own earlier reporting as the basis for the venture framing.
Mechanics well pinned, ecosystem effect unmeasured
Confidence is moderate: the technical and release-state findings are precise and internally consistent, and the publisher is transparent about what has not happened. It is held down by single-publisher sourcing, no independent verification of commits or announcement, an unmethodized usage figure, and no observation at all of downstream implementers, which is exactly the variable that decides whether the change matters.
build
The failure modes of AI agents in low-level code have names, and names can be gated in CI1 distinct publisher
build
A Rust veteran's first Zig project: the friction was tooling and layout, not safety1 distinct publisher
build
Vault on OpenShift: one Linux capability, four objects, and an SCC resolver that ignores your RBAC1 distinct publisher
product
IBM says buyers moved June capex to hardware, and its mainframe software stack paid for it1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 24, 2026