Works with the agents you already use.
Leash sits between your AI agents and the actions they take. Safe work keeps moving; sensitive work becomes a clear decision you can understand and control.
| 🛡️ Security | 💸 Cost | 📡 Activity | 📏 Rules |
|---|---|---|---|
| Stop destructive commands, secret exposure, prompt injection, and unsafe tools. | Remove repeated context automatically with Token Saver. | Follow agents, commands, files, tools, and approvals in one live view. | Protect important folders and require approval for actions you choose. |
agent proposes an action
│
▼
╭───────────────────╮ safe ─────────▶ continue
│ LEASH │
│ observe · evaluate│ sensitive ─────────▶ ask you
│ ask · stop │
╰───────────────────╯ dangerous ─────────▶ stop
Answer the exact decision The Island shows approvals and live agents without breaking your flow. |
Desktop protection that feels native Install once, choose your agents, and keep protection close. |
Understand AI usage across projects and providers
Leash Cloud adds personal web access and Business administration on top of the same public runtime.
The Business control plane shown above is a hosted Leash Cloud service and is not included in this public repository.
AI agent hooks + provider traffic
│
▼
┌────────────────┐
│ Leash Engine │──▶ first-party Features
│ │──▶ approvals + history
│ │──▶ local Postgres
└───────┬────────┘
│
Desktop · Mobile
The public repository ships the complete personal runtime. Features are reviewed TypeScript handlers that run in process. There is no marketplace code, per-feature container, or hidden local backend.
Safe actions stay invisible and fast. When something needs attention, Leash gives you the exact agent, command, project, reason, and decision instead of a generic warning.
Personal Open Source (BYOK) runs on your computer with your own model-provider key. It does not require a Leash account or Leash Cloud.
git clone https://github.com/open-leash/leash.git
cd leash
npm install
npm run dev:mode:individual-open-sourceDocker is used for the local Postgres/API stack. Leash Features themselves always run in-process inside Engine.
🧱 Explore the complete public runtime
| Path | What lives there |
|---|---|
apps/engine |
Personal event API, decisions, approvals, Features, and migrations |
apps/desktop |
macOS and Windows app, tray, Island, hooks, and proxy management |
apps/mobile |
Optional iOS and Android companion |
apps/local-proxy |
Native provider-traffic enforcement edge |
apps/provider-sync-worker |
Optional provider activity scheduler |
apps/flow-viewer |
Local trace and decision viewer |
packages/shared |
Versioned contracts shared across clients and runtime |
Useful checks:
npm run typecheck
npm test -w @openleash/client-api
npm test -w @openleash/desktop-client
npm run test:deploymentPackage names retain openleash and client-api where changing them would break existing installations. The product UI and new documentation use Leash and Engine.
Leash is for people who want powerful agents without giving up the final say. If that matters to you, try it, open an issue, or give the project a star. It genuinely helps more people find it.


