Skip to content

LatchAI documentation

LatchAI is a local-first AI workbench. A headless engine (a daemon on :7777) owns the work — the workflow executor, the tool registry, MCP connections, triggers, chat, and checkpoints — and a React workbench sits in front of it. The engine and the UI are peers, so a CLI or a webhook can drive the same machinery with no window open.

Everything LatchAI produces is a plain file in your LatchAI home (~/LatchAI by default): workflows as graph JSON, agents and skills as markdown with frontmatter, run logs as append-only JSONL, chat transcripts mirrored as Obsidian-compatible markdown. There is no database to export from.

  • Install — clone, install, and start the engine and workbench.
  • The LatchAI home — what lives where, and why it’s all files.
  • Models — download a model that runs on this Mac, or connect Ollama, LM Studio, vLLM, OpenAI, or Anthropic.
  • Your first project — mount a repo, run your first chat and workflow.

The editor, the workflow canvas, chat, dashboards, and Code Atlas are all views onto the same engine — the same provider, the same tool registry, the same permission-gated filesystem, and the same event stream.

The shape of it once everything is set up:

  1. Overnight. The engine is up — a terminal process, or a launchd service — and triggers fire with nobody watching. Every run appends its events to <home>/runs/<runId>.jsonl and snapshots the workspace into the shadow checkpoint repo before and after.
  2. Morning. You open the workbench. The Runs sidebar lists last night’s runs with a ± per run that opens its diff; the History view has the transcripts and the token counts.
  3. Working. You open a mounted repo in the editor and talk to the assistant with ⌘⇧L. It reads and edits the same files through the same permission gate an agent uses, and every turn is checkpointed, so ± Review changes shows exactly what it touched — with a revert.
  4. Automating. The thing you just did by hand becomes a workflow: + in the sidebar, a trigger node wired to an agent node, ⌘S to save it to <home>/workflows/<id>.json, ⌘⏎ to run it. Swap the manual trigger for a cron_trigger and it joins step 1.

None of that is a separate product. It is one engine, one filesystem, and one event stream, seen through different windows.

  • Run LatchAI as a service — keep the daemon alive across logout, reboot, and crashes.
  • Overnight pipelines — the pattern behind a team of agents that ships code while you sleep.
  • Secrets — Keychain-backed credentials, referenced as {{secret:NAME}}.
  • Version history — every save of an agent, skill, or workflow, rolled back in two clicks.