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, checkpoints, project boards, database connections, vaults, notifications, and the usage ledger — and a React workbench sits in front of it. The engine and the UI are peers, so a CLI, a webhook, a paired phone, or a browser extension 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, skills, memory, work items, and vault notes as markdown with frontmatter, run logs as append-only JSONL, chat transcripts mirrored as Obsidian-compatible markdown. There is no database to export from.

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

The activity bar groups the workbench into four sections. Every one of them is a view onto the same engine — the same provider, the same tool registry, the same permission-gated filesystem, and the same event stream.

Group Areas
Development Code (files, editor, search, terminal, diagnostics, Code Atlas), Database, Git, Projects
Automation Workflows (with triggers and review gates), Dashboards
Audit Usage, Runs (the Run Monitor and per-run diffs)
Intelligence Brain (graph, notes, inbox — over one or more vaults), Models

Alongside them: chat opens as a panel anywhere, the notification inbox sits on the bell, and agents with memory, MCP servers, the browser extension, and the phone app extend what the engine can reach.

The shape of it once everything is set up:

  1. Overnight. The engine is up — the desktop shell in the menu bar, a terminal process, or a launchd service — and triggers fire with nobody watching. An agent picks the next card off a project board, works it, and moves it. Every run appends its events to <latchHome>/runs/<runId>.jsonl and snapshots the workspace into the shadow checkpoint repo before and after. A failed run, or a run waiting on your approval, lands in the inbox — and on your phone’s lock screen if you have paired one.
  2. Morning. You open the workbench. The Runs sidebar lists last night’s runs with a ± per run that opens its diff; Usage has the transcripts, the tokens, and what each work item cost; the board shows what moved.
  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, every code block it writes has an Apply button that opens a proposed diff, and every turn is checkpointed, so ± Review changes shows exactly what it touched — with a revert.
  4. Remembering. What you learned goes into a vault: tell the Brain’s quick-capture box a sentence and an agent files it as inbox proposals you accept or reject. The graph shows how the notes, runs, chats, and work items connect.
  5. 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 <latchHome>/workflows/<id>.json, ⌘⏎ to run it — or ask the workflow-builder agent to draft it. Add a cron_trigger beside the manual one 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.
  • Release notes — what changed in each version.
  • HTTP API — every endpoint the engine serves, and the event stream.
  • Built-in tools — every tool an agent can call, with its arguments and permission gate.
  • Keyboard shortcuts — the workbench’s shortcuts, slash commands, and palette commands.