Skip to content
execution-associatesPublic

About

No description, website, or topics provided.

Resources

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

lasso: the Execution Associates EXA monogram beside the word lasso, over a blue-hour Orange County coast

Run coding agents on every machine you own. Watch them from a browser tab. Answer them from your phone.

Docs · Install · For agents

lasso on a desktop: the herdr terminal in the middle, herdr's workspace list on the left, the Files browser on the right, and the usage footer along the bottom lasso on a phone: the same workspace, with the radial input dial open over the terminal
Your desk: the whole fleet, the diff, the files, the budget. Pocket: same workspace, real keys.

Real UI captures from isolated demo workspaces. Identifying details are redacted.

An agent that has been waiting forty minutes on a y/n you never saw is an agent doing nothing. lasso is a single Go binary that puts your coding agents (every SSH-reachable machine, its herdr session, every pane) in a browser tab, and in a phone app that buzzes when one of them needs you.

  • Your real terminal, anywhere. Your actual herdr session over ttyd, with lasso around it, never in front of it.
  • The phone is a first-class client. A home-screen app that opens on an Inbox of what is waiting on you, answered with a tap or by dictation; the full UI is a switch away, with a radial dial for Esc/Ctrl-C/Tab/arrows and photo upload straight to the agent's host.
  • A Mac app. Lasso for the Mac keeps that Inbox on the edge of your screen, with a window per agent and a shortcut to start one from anywhere.
  • It tells you when an agent is stuck. Web Push to a locked phone when an agent blocks on an approval or a question, on any host. Each device picks what may interrupt it.
  • The sidebar follows the focused pane. A file editor and live git diff on the machine that pane is actually working on.
  • A browser you and your agents share. A real Chromium you watch and click in while an agent drives it.
  • Bots that stay up. Long-lived Claude Code sessions with their own folder, MCP servers, channels and encrypted secrets, read like a messaging app, with a push when one answers. Ask a bot to change its own settings and it can.
  • Agents orchestrating agents. An MCP server lets one agent spawn, list, inspect and close the others, across the fleet, and /herdr-mcp serves herdr's own API as MCP tools on any host (no separate herdr-mcp to run).

What it looks like

The herdr terminal in lasso: herdr's workspaces and agents down the left, and an omp agent's pane reporting the change it made
Your real herdr terminal
The herdr terminal →
Lasso, the Mac app: the edge rail with the inbox's count, the inbox card answering an agent's question, and an agent's own window rendering its Markdown reply
The Mac app: an edge rail, an inbox of what's waiting, agent windows
Mac app → · the Inbox
The Grid: every agent on three machines as a card with the tail of its conversation, one of them blocked and asking for input
Every agent at once
Grid →
The Bots view: three bots in a list like a messaging app, one running, one idle, one stopped, and a conversation with one of them
Bots that stay up
Bots → · talking to one
The Files sidebar beside the terminal, showing the agent's worktree README rendered with its diagram and table
Files follow the focused pane
Files → · on any host
Chat view of an agent on another machine: its tool calls, and the question it is asking as three options to pick from
Read and answer it as a chat
Chat view →
The Browser sidebar showing the page an agent just built, in the Chromium it shares with you
A browser you share with agents
Shared browser → · Browser tab
The New dialog over the Grid, starting a git agent on another machine: the prompt, the repository and branch, the harness and the host
Start an agent on any host
New dialog → · choosing the host
The host menu over the Grid: lasso's own machine, two more reached over ssh, and a laptop that did not answer
One lasso, every machine
Hosts →
An omp session using lasso's MCP tools to list the agents on every host and start another agent on a second machine
Agents orchestrating agents
MCP server → · lasso mcp
lasso on two phones: an agent's question to answer with a tap, and the terminal with the radial input dial open
Answer from your phone
Phone app → · input dial
A plugin's approval dialog listing exactly what it asks for: a sidebar tab, a sandboxed MCP server, no network, no secrets
Plugins you approve
Plugins → · trust model

Taken from a demo lasso in a throwaway VM, with real omp agents at work on three machines. mise run readme:shots retakes them, all but the Mac app, which comes from its own renders of sample data.

Install

curl -fsSL https://executionassociates.com/install-lasso | sh
lasso start                 # run it in the background
open http://127.0.0.1:8090

The installer asks whether lasso may send anonymous usage analytics. Answer n, or install with LASSO_TELEMETRY=0 or sh -s -- --no-telemetry, to turn them off, and turn them on or off later in Settings or with lasso telemetry on|off. Usage analytics lists exactly what is sent.

lasso needs herdr and ttyd on the same machine. Run lasso doctor if anything looks off. Then register lasso's MCP servers with the agent CLIs on the machine:

lasso connect

The Mac app

Download Lasso for the Mac for a Mac with Apple silicon on macOS 14 or later, and drag it onto Applications. It keeps lasso's Inbox on the edge of your screen and connects to a lasso you already run, on the same Mac or another machine: first launch asks for its address. It is signed, notarized and updates itself. The Mac app has the details.

Reach it from your other devices

lasso listens on loopback only. To reach it from your phone or another machine, serve it on your tailnet with lasso serve -tailnet (Tailscale), or publish it through a Cloudflare tunnel and Access with -listen-access (Cloudflare). Both serve HTTPS, which the phone app and push need, and lasso checks who is calling on every request. Read the security model first; the terminal is a writable shell and lasso never belongs on a public interface.

Documentation

Getting started Install, first run, connecting agents, the phone app, the Mac app
Concepts Hosts, agents and worktrees, the shared browser, notifications
Web UI The terminal, the sidebar, the New dialog, theming, bots
MCP server Tools (the browser tools among them), the herdr MCP, the CLI, OAuth, agent scope
Plugins Installing plugins, and writing one
Deployment systemd, Cloudflare Tunnel and Access, tailnet, updating
Security · Troubleshooting
Reference CLI, configuration, files, HTTP routes, architecture, development

Agents working with lasso should read SKILL.md.

Building from source

mise run build      # build the frontend (src/web/dist) then the binary
./lasso             # serves on 127.0.0.1:8090

Frontend tooling runs inside a per-worktree incus container, never on the host. See Development.

License

lasso is licensed under the Apache License 2.0, the same license as herdr. See NOTICE for the copyright notice.

About

No description, website, or topics provided.

Resources

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages