undibs

Release dibs occupancy locks held by the current agent session.

4|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/laicluse/agent-fieldkit --skill undibs-laicluse
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: undibs
Source: https://github.com/laicluse/agent-fieldkit/tree/main/.agents/plugins/generated/dibs/skills/undibs
Command: npx skills add https://github.com/laicluse/agent-fieldkit --skill undibs-laicluse

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When multiple coding agents work in parallel, the dibs plugin locks directories so only one agent owns a working directory at a time. Without a deliberate release, those locks linger until the session ends, blocking other agents from claiming worktrees that are actually finished. ## Core Features & Use Cases - Sweep all session locks: By default, releases every directory lock held by the current session in one operation, keyed by the session's holder pid. - Release a single directory: Pass a specific path to free just one worktree while keeping other locks intact. - Safe holder matching: Only removes locks that identify as this session's; locks held by other live agents are never touched, and a held-by-other result names the holder so the operator can decide. - Use Case: At the end of a long session that touched several repos and worktrees, run the sweep to hand every directory back so the next agent can claim them immediately. ## Quick Start Ask the agent to release the dibs locks this session holds, or name a specific worktree to free just that directory.

Frequently Asked Questions about undibs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I release a dibs lock on a directory?▼

Run the dibs CLI release command with the target directory path, which returns a JSON state of released, not-held, or held-by-other. To free everything at once, use release-all with the session's holder pid to sweep every lock the session holds.

How do I unlock multiple git worktrees at the end of a session?▼

Use the release-all command with the session's long-lived holder pid, computed by the shared holder-pid script. It enumerates the lock store and removes every lock identifying as this session, reporting the count and released realpaths as JSON.

What happens if another agent still holds the lock?▼

The release returns a held-by-other state with ok set to false, and the lock is not touched. The holder record names the agent, pid, and acquisition time so the operator can decide whether to intervene.

When should I release a dibs lock during a session?▼

Release only when the work itself is complete and control returns for genuinely new instructions, not merely when tests pass or a commit lands. Keep the lock while asking questions needed to continue the same work, since early release risks a collision with another agent.

Does undibs work with stale locks from dead processes?▼

Locks from dead processes are best left for the next claim to self-heal through pid-liveness detection. Explicit release is intended for locks held by a live process you control or when the operator asks to clear one.