[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:124](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/LockManager.ts#L124)

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.