BETA RELEASE

Triggers for your agents, with you in the loop.

Personal AI automation that lives on your machine. Cron, files, and events wake your agents — watch, steer, or take over from one inbox.

Download AppmacOS (Apple silicon)
See how it works

Run it three ways — the lk CLI, the desktop app, or the terminal UI.

run_000341 · NIGHTLYLIVE
05:00:00trigger.firedcron · nightly
05:00:01run.createdworktree · run_000341
05:00:47checkpointstep 1 · tests green
05:00:52ask-first“Deploy the fix to staging?”
05:01:12approvedfrom your inbox · you
05:01:58run.completed2 files changed

WIRED TO YOU

Organization automation watches repositories. Yours watches you.

Workflows trigger on what happens to you — a mention, an assignment, a question in your channel — across the places you work. Being personal is the point: your agents act with your context, your credentials, and your taste.

You get mentioned

@you lands on an issue, or your name comes up in a channel. That message wakes a loop on your machine, which drafts a reply and leaves it in your inbox for approval.

Your review is requested

A pull request is assigned to you, or someone asks you to review. Your loop takes the first pass — review notes and a risk summary are waiting by the time you open it.

Your own rhythm

Morning triage, nightly cleanups — cron loops tuned to how you work, not to your organization's pipeline.

THE DECLARATION

on: github: issue_comment: { mentions: me } pull_request: { reviewer: me } slack: message: { mentions: me } schedule: - cron: "0 9 * * 1-5"

That's the whole thing — one on: block, in the workflow file. Filters run before delivery, so an event you didn't ask for never reaches your machine. And me is you, resolved from the account you connected: until it is, it matches nothing rather than everyone.

And personal doesn't mean stuck: when a loop proves itself, promote it — export it to your team's repository as a GitHub Agentic Workflows file.

ATTENTION LEVELS

Every action gets exactly the attention it deserves.

A policy you write — and explicitly trust — grades every action an agent proposes. Your attention is the scarce resource; loopkeep spends it deliberately.

auto-approve

Routine work flows through. Logged in the event trail, never interrupting you.

notify

Worth knowing, not worth stopping for. Bundled quietly into your inbox.

ask-first

The run pauses and asks. Approve, steer, or abort — right from the inbox.

deny

Never allowed. A built-in floor that no policy layer — and no agent — can relax.

And when you want the wheel: take over a live run — loopkeep opens claude in your terminal or multiplexer so you drive it directly, then hand it back. The floor stays on the whole time.

WORKS WITH

It runs in the tools you already have.

No new surface to learn: attended runs open in your terminal, take-over lives in your multiplexer, and wake signals arrive from the platforms your team already uses.

Terminals

loopkeep finds your installed terminals and opens attended runs in the one you choose.

  • Terminal.app
  • iTerm2
  • Ghostty
  • WezTerm
  • kitty
  • Alacritty
Multiplexers

Take-over and attended runs live in a pane, driven by whichever multiplexer you run.

  • herdr
  • tmux
  • cmux
  • zellij
Platforms

Wake runs from the platforms your team already works in — the connectors.

  • GitHub
  • Slack

ARCHITECTURE PRINCIPLES

Three principles we never break.

DELIVERY ONLY

The event travels, and stops there

The gateway checks that the event is genuine, works out which of your workflows it matches, and hands the event to your machine. It is held only until that machine takes it — at most a day if the machine is offline — and then it is gone. It never goes to anyone else's device.

STAYS HOME

Your code never leaves

Repositories, files, env, secrets, prompts, run transcripts — all of it stays on the machine. Signing in uploads no content, and the connector credentials we hold deliver events; they are never used to read your source.

RUNTIME INDEPENDENT

Works when the cloud is down

Expired auth, no network, a full outage — cron, file-watch, runs, and your inbox keep working indefinitely. There is no kill switch to your automation.

CONTROL / DATA PLANE

Control plane and data plane, kept apart.

The Console owns sign-in, devices, connections, and entitlements. Delivery is a separate gateway: it verifies the webhook, matches it against the triggers your daemon declared, and forwards the matching ones. Your daemon holds a single outbound WebSocket and opens no inbound ports.

  • Persistent outbound WebSocket (WSS), no inbound ports
  • Store-and-forward, at-least-once, idempotency keys
  • Filters run at the gateway — an event you didn't subscribe to is never delivered

SOURCES

GitHub · Slack

webhook / event

CONSOLE

control plane — login · devices · connectors

gateway — verify → match → wake signal

WSS · outbound only

YOUR MACHINE

loopkeepd starts the matched run — code and secrets stay here

CONNECTORS

Connecting is just an install.

GitHub

Install the shared GitHub App on your account or organization — that's the whole setup. Issues, comments, pull requests, reviews, pushes, and CI results can all wake a workflow, and authorizing the install is what teaches loopkeep which login is you.

Slack

One “Add to Slack” OAuth flow. No app to build, no token to paste. A mention, a DM, your name in a channel, an emoji reaction — any of them can start a run.

NO LOCK-IN

Your workflows are markdown files in your repository.

Definitions live in .loopkeep/ as plain markdown with GitHub Agentic Workflows-compatible frontmatter — versioned, reviewed, and portable like any other code.

Import and run locally

Bring a GitHub Agentic Workflows file and run it on your machine — before push, with minute-level cron, and no Actions bill.

Promote what works

Export a proven loop to GitHub Agentic Workflows and it becomes your team's automation — every feature classified green, yellow, or red, nothing degrades silently.

Engine-neutral

Runs the claude CLI you already sign in with — API keys optional. Other engines can connect over the same adapter protocol.

PRICING

You pay for server resources. Everything else is free.

The line is simple — remote operations that consume Console resources are paid. Anything that runs entirely on your own machine stays free.

Free

Starter

$0One machine + 1 connection

  • One paired desktop
  • cron / file-watch / git / manual
  • One remote connection (GitHub or Slack)
  • 100 wake signals a day
  • Remote revoke for a stolen device
  • Runtime independent (runs indefinitely)

Pro

Scale

Coming soonConsole resources

  • Up to 5 paired desktops
  • Up to 10 GitHub and Slack connections
  • 5,000 wake signals a day
  • Start a manually-triggerable workflow from the Console on an online device
  • Remote supervision and controls from the Console

GET STARTED

Get loopkeep.

Install the CLI, run the desktop app, or live in the terminal UI — one runtime, all on your machine.

$ curl -fsSL https://loopkeep.run/install.sh | sh
Download the desktop app

Currently macOS (Apple silicon) only