Skip to content
Latch

Notes

Research

The open catalogs can draw a button. They do not yet treat “ask only when something is missing, name the handler, and confirm before acting” as components. That is the gap Latch fills.

A2UI v0.9.1 already puts agentDisplayName on a surface. AI Elements already has Confirmation and Sources. assistant-ui already has an approval card. Latch is not a claim that those screens do not exist. It is the combination, as a catalog an agent can address.

ProjectWhat it isConfirmAsk onceMisrouteHandlerCitationCatalog
A2UIProtocol. The client renders an agreed catalog from JSONL.Button, Modal, CheckBox. No review that stays confirmed.TextField and ChoicePicker. No single missing fact that collapses.Not in the basic catalog.agentDisplayName on the surface theme. Attribution, not a correction.No source chip.Yes. Custom catalogs are the point.
AI SDK + AI ElementsStreaming hooks, plus React you copy into the repo.Confirmation, tied to tool approval. Approve or deny.You build the question.No.No handler.Sources, from message parts.You own the files. Not an A2UI catalog.
CopilotKitAgent runtime and generative UI over AG-UI.useHumanInTheLoop pauses on a render you write.The tool you register.Whatever the app does.Copilot chrome.Whatever you render.You own the render function.
assistant-uiHeadless chat primitives on shadcn.ApprovalCard. Often allow once, always, or deny.You build the question.No.The assistant message.Varies.You compose the primitives.
OpenAI Apps SDKOptional UI inside ChatGPT, sandboxed over MCP.The host, plus your widget.Your widget.No standard misroute.The plugin.No standard chip.A sandboxed widget, not your system.
Thesys C1A generative UI API. The model streams components.Forms and actions the model emits.The model decides what to ask.No misroute log.No named, correctable handler.No.Their set, themed.
LatchAn A2UI catalog for the judgment around an action.ConfirmCard. Facts, checks, a confirmed state.ClarifyForm. One question, then a row.HandoffCard logs a misroute.Named handler, and a way to change it.Citation on the claim.latch://catalog/v1

What this catalog adds

  1. A wrong handoff is a logged misroute, not a silent swap.
  2. A clarify asks one missing fact and then gets out of the way.
  3. A confirm is a review of the facts, with a state after the person agrees.
  4. The handler is named, and the person can correct it.
  5. A citation sits on the claim, as a chip, not a footer of links.

Sources

The longer note, with the same table, is in docs/research.md in the repository.