---
title: "mutex"
description: "Guard a shared resource with a distributed lock, using the mutex CLI"
canonical: https://agentpluginsdirectory.com/plugins/mutex
last-updated: 2026-09-13
---

# mutex
Guard a shared resource with a distributed lock, using the mutex CLI
- Slug: mutex
- Publisher: ReleaseTools
- Repository: https://github.com/releasetools/agent-plugins
- Manifest: plugins/mutex/plugin.json
- Version: 0.4.1
- License: Apache-2.0
- Category (editorial): other
- Skills: 2 (mutex, naming)
- MCP servers: 0
- Stars: 0
- Repository created: 2026-08-19
- Repository last pushed: 2026-09-12
- Publisher type: Organization
- Listing: https://agentpluginsdirectory.com/plugins/mutex
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What mutex does, in the publisher's words

Guard a shared resource with a distributed lock, so that one deploy, migration or staging environment has a single holder at a time. The lock lives in a PostgreSQL table that the mutex CLI and the releasetools/mutex GitHub Action also use, so a lock taken here blocks CI too, and one taken by CI blocks the agent.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/releasetools/agent-plugins/HEAD/plugins/mutex/README.md

## Skills

- mutex: Guard a shared resource with a distributed lock, using the mutex CLI over its PostgreSQL lock table. Use when the user asks to lock, unlock, guard, serialise or hold something while a step runs, a deploy, a migration, a staging environment, a release, or asks who holds a lock, to extend one, or to…
- naming: Decide which lock an operation takes and what that lock is called, before any lock exists. Use when the user asks to name a lock, wants the lock id for a resource, asks which lock an operation needs or whether it needs one at all, or asks what something would be called, an issue, a PR, a branch, an…

Descriptions come from the frontmatter of each SKILL.md, punctuation lightly normalized.
