Overview
Active chats
Leases
Files
.agentcollision/ directory, and acquires a lease on that specific file. Different files never conflict.
Events
Team
Help & reference
A brief reservation on a part of your codebase. When an AI chat is about to edit a file, AgentCollision checks if any other chat is currently editing in the same area. If yes, the edit is blocked (preventing a collision). If no, the reservation is granted and the edit proceeds. Reservations last only as long as the edit — typically under a second — then automatically release. A chat with "21 edits" simply means it made 21 file changes, not that it held 21 reservations simultaneously.
Each file in your repo is an independent lease. Two chats editing different files run in parallel; two chats editing the same file serialize. No configuration needed.
A single Claude Code session (or Cline, Windsurf, Cursor -- any tool that's wired up to AgentCollision's hook). Each session has a unique agent_id the daemon uses to track who holds what.
Claude Code's PreToolUse mechanism. Before any Edit/Write/Bash tool call fires, Claude Code calls AgentCollision. AgentCollision decides allow or deny. The hook is installed via ac install-hooks.
Reservations only exist during the instant a file is being written. Between edits — while the AI is thinking, reading code, or waiting for you — nothing is reserved. If Edits coordinated is non-zero, AgentCollision is working. Your chats just aren't writing at this exact moment.
Settings
ac daemon manually each session.gh CLI. Skipped if not installed.