Documentation index · Open Latch Studio
Studio lets you define contracts and download integration files without installing Latch first. You still need an existing React/Vite application and a real handler to complete the integration.
Set a project name. Select the starter tool or choose Add a tool. Replace its name and description with the action your application supports.
In Contract, choose a binding pattern:
| Pattern | What to enter |
|---|---|
| Exported function | Its project relative source module and named export, such as src/catalog.ts and searchCatalog. |
| React callback or store action | The owning component module and the callback variable in its scope. The module must match the installation component in Project setup. |
Enter the exact active pathname and owning component. Define bounded input and result schemas. Objects must declare their properties and use additionalProperties: false. The integration guide covers the supported contract format and binding constraints.
The starter values are examples. They do not establish that your handler exists or returns those results.
In Test samples, supply a representative input and the result your real handler should return. Select Check sample values. A successful check means the values match the schemas; it does not execute the handler.
In Project setup, set the application's loopback development URL and installation component. Studio exports Handler tests. Native invocation must be configured and verified separately using the current compatibility record.
Use Save draft to keep an editable JSON copy, including unfinished fields. Reopen it with Open config. Current work lives only in the tab, so save before reloading or closing it.
Once every contract and sample is valid, select Download integration. Its ZIP contains:
| File | Purpose |
|---|---|
latch.config.json |
Contracts, bindings, project settings, and expected result tests. |
preview/src/latch.generated/integration.ts |
A typed wrapper preview for review. |
preview/src/latch.generated/env.d.ts |
Vite type reference for the preview. |
INSTALL.md |
Instructions for this configuration. |
PACKAGE_INSTALL.md |
Package setup instructions. |
studio-draft.json |
An editable copy of the Studio draft. |
Studio version 5 includes the six matching v1.0.0 packages and SHA256SUMS in Download runtime packages. Its actual public download was compared byte for byte with the published GitHub package set on October 7, 2026 (UTC). The installation guide also provides the immutable GitHub release links. Keep the six matching tarballs available while installing and maintaining the integration.
Continue with Installation. Copy the configuration into your application, keep preview/ outside application source, and let the CLI generate and own the installed files.
Open config accepts Studio drafts and Latch v1 configurations. Studio creates one Handler test per tool from its sample values. Other imported test steps, UI assertions, and native browser settings are not retained; the editor shows a notice. Keep your original configuration if you need those tests. Configurations with custom preconditions cannot be edited in Studio.
For an advanced test suite, edit latch.config.json in your project and use the CLI directly.
Studio version 4 passed 40 browser and asset checks in Chrome 154.0.8037.98, including validation failures, both binding patterns, sample checks with the handler-not-executed notice, draft recovery, keyboard navigation, and actual integration and runtime downloads. The three editor tabs had no page-level horizontal overflow at 1440, 390, and 320 px.
The downloads passed 31 checks covering the six integration files, ZIP integrity, all six runtime package checksums, and agreement with the current package artifacts and compiled source. All 57 package files also matched the installed final consumer whose earlier October 2 runs passed 11 catalog and 7 documentation cases. Those consumer tests were not rerun for this download check.
An older Studio consumer archive did not match the current bundle: its test runner predates the concurrent-call fix. That mismatch remains part of the historical record; current package parity was established against the later final consumer installation.
This follow-up verified the public editor and downloads. It did not execute visitor handlers or make new native WebMCP calls. The separate October 2 verification records the earlier native execution and consumer checks. Packages remain local tarballs, and these results do not establish compatibility with arbitrary applications or browsers.
Latch v1.0.0 was published at 1f8c8e5954215518db061c0ca1d8b6baa7bbb94c after the Windows/Linux source, handler, native and fresh-consumer checks passed. The six actual downloaded package archives, their sidecars and SHA256SUMS matched all 13 published asset digests and sizes. All 66 package files were present, with version 1.0.0 and MIT licensing in each package.
A new consumer outside the source workspace installed that downloaded set, exercised the installed CLI, generated and applied both examples, built production bundles without the development bridge, and passed all 18 example cases on Chrome 155.0.8059.39. This test used Node 24.19.0 and pnpm 11.19.0. It verifies the delivered packages in the documented React/Vite fixtures, rather than arbitrary applications or agent hosts.
The separate Studio source was updated and published as version 5. In a fresh Chromium 153.0.8010.12 browser, its public editor passed sample rejection/correction, duplicate rejection, draft download/reload/restoration, actual integration/runtime downloads, and 1440/390/320 px layout checks without horizontal overflow or application console/page errors. Its downloaded runtime ZIP contains exactly the six published package bytes and SHA256SUMS. The integration ZIP contains six files, a schema-1 configuration, a typed v1 preview and versioned MIT package instructions. Studio does not run visitor handlers; the native evidence comes from the installed consumer above.