[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [LockManager](https://evolu.dev/docs/api-reference/common/LockManager) › acquireLeaderLock

```ts
function acquireLeaderLock(
  name: string,
): Task<AsyncDisposable, never, LockManagerDep>;
```

Defined in: [packages/common/src/LockManager.ts:130](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/LockManager.ts#L130)

Competes to become the current leader for `name` using [LockManager](https://evolu.dev/docs/api-reference/common/LockManager).

Only one caller can lead for a given name at a time, and the returned
[AsyncDisposable](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management) represents that leadership.

Leadership is held until the returned handle is disposed. Once released,
another waiting caller may become the next leader. Waiting for leadership is
abortable via the calling [Task](https://evolu.dev/docs/api-reference/common/Task/type-aliases/Task)'s signal.