Use case / 2026-09-28

What do file claims solve when coding agents share a repository?

Use visible file ownership to catch overlapping plans early, then verify checkout isolation, actual edits, and the final integrated diff.

Canopy agent file claims showing which session is working on project files
Canopy agent file claims showing which session is working on project files

Two agents can agree to work on different features and still reach for the same configuration or component file. Canopy's product page shows file claims so overlapping work is visible early. A claim is a coordination signal; the real editing boundary is the checkout, and the final truth is the diff and running behavior.

Name the work before assigning files

Start with two outcomes, not two lists of filenames. For a checkout flow, Agent A might own the declined-card UI state while Agent B investigates a payment API timeout without editing. The shared API contract and final acceptance checks need one human owner. A file claim is useful when the task starts to touch checkout.ts or a shared test fixture: the owner can see that a second session may be entering its area. It does not decide whether two proposed behaviors are compatible. A short task brief should still name the intended branch, read-only or edit authority, and stop point.

Separate a claim from a worktree

Canopy's public page describes agents claiming files so overlapping edits are visible before they happen. Git worktrees solve a different problem: each linked worktree is its own working directory and branch, so uncommitted files in one checkout do not overwrite the other's working files. A claim may draw attention to overlap in one shared checkout; do not treat the visual claim as proof of an operating-system lock or a guarantee that a CLI will refuse to write. Conversely, two agents in separate worktrees can both change the same source path and create a merge or design conflict later. Check the installed Canopy release and run a disposable trial before relying on the claim display for a real team process.

Four different signals in one parallel-agent task.
SignalAnswersStill requires
Task ownerWho should decide the behavior?Written acceptance and escalation rule
File claimWhich session has declared or surfaced work on this path?Verify delivery, freshness, and actual edits
Worktree and branchWhere can uncommitted changes live independently?Check current directory and integration
Git diff and PRWhat code actually changed?Review combined behavior and tests

Pause when the overlap is meaningful

Suppose Agent A claims the checkout component while Agent B's investigation reveals the same component must change to handle timeout retries. Do not let both agents continue writing the shared checkout while you guess which patch will survive. Ask Agent B for a read-only finding with the failing path and expected behavior. Give one implementer authority over the change or give each a separate branch with a named integration owner. If both branches already changed the file, compare intent before resolving line conflicts. The merge-conflict guide covers the recovery path; a green merge command alone does not prove both behaviors survived.

Verify claims against the current state

In the installed app, start two supported CLI sessions on a disposable repository. Give each a distinct task, then have both identify a harmless shared file they might need. Observe whether Canopy shows the claim, which session it attributes it to, and whether the other session sees an overlap warning. Record versions and the exact checkout of each terminal. Then inspect Git status and the latest diff in every worktree. CLI hooks and file attribution differ by integration, so a missing or stale claim should prompt inspection, not an assumption that no one touched the file. Do not intentionally race writes to important code just to test the UI.

Finish with one integration decision

When work stops, release or clear any claim through the controls in the installed release, and verify no active agent still owns a pending edit. Compare each branch with the acceptance criteria, merge through the normal PR flow, and run the combined success and failure paths. Record which agent contributed what and which person accepted the result. A file claim is valuable when it prevents an unnoticed overlap early; it is not a substitute for isolated checkouts, final diff review, or a decision about the shared design.

Copyable resources

Two-agent overlap card

Use before assigning the second edit and after any claim conflict appears.

Shared outcome and acceptance checks: [ ]
Agent A task, checkout, branch, and allowed edit area: [ ]
Agent B task, checkout, branch, and read-only/edit scope: [ ]
Shared files or contract likely to be touched: [ ]
Canopy claim observed, by whom, and at what time: [ ]
Actual git status/diff in each checkout: [ ]
Overlap decision and single integration owner: [ ]
Final combined tests, preview behavior, and PR decision: [ ]

Frequently asked questions

Does a Canopy file claim lock a file against another agent?

Do not assume it does. The public product description promises visibility of overlapping work; test the installed release and use separate worktrees for file isolation.

Why use file claims if agents have separate worktrees?

Separate worktrees protect uncommitted files from overwriting one another, but agents can still make incompatible changes to the same source path or API contract. Claims can surface that coordination need early.

What if a claim is missing but Git shows an edit?

Treat Git and the working tree as the authority for actual changes. CLI integration and attribution can differ; inspect the session, checkout, and latest diff before assigning ownership.

Browse more Canopy questions →

Sources and further reading