Two agents may be rewriting the same file this minute, on two machines, and neither knows. You find out here, or you find out at merge. Overlap warnings are Runi's answer to the second option.
What triggers one#
A teammate's active session is holding a file your session is also holding. Both halves matter: a finished session is not a collision, and a file you have not touched cannot collide with anything.
Note
It costs nothing until it can matter. The check is free until your session has edited something, and when it does run it goes out in parallel with the deliveries fetch instead of adding a round trip to your prompt.
Where it reaches you#
In the session, at prompt time#
The warning is injected alongside your prompt, so your agent knows before it starts editing. This is the version that prevents work, because it arrives where the decision is being made.
In the app#
Sessions and Team show live sessions with the files each one holds. Overlaps are surfaced instead of being left for you to spot by reading two lists side by side.
It works on your own sessions too#
One person running two agents in two worktrees is the self-collision case, and
it is more common than the team one. runi_team_status includes
your own other sessions for exactly this reason. The working tree in front of
you cannot show you the other machine, or the other window.
What a warning does not do#
- Block anything. No hook Runi registers can delay or refuse a prompt or a tool call. You are told; what you do is your business.
- Lock files. Runi has no opinion about who owns what, and no mechanism to enforce one.
- Name files your ignore rules exclude, on either side of the overlap.
Which files a teammate can see#
Which files you are touching is visible to teammates in every sharing mode, including the most private one. That is the trade at the centre of the product: your prompts can stay entirely on your machine, but if nobody can see which files are moving, nobody can avoid you, and avoiding each other was the point.
Your choice of mode is shown to teammates, so nobody is watched without knowing. See The two sharing switches.
If overlaps never appear#
Three things, in this order:
- Are both sessions in a repository the workspace tracks? An untracked session is invisible.
- Is the other session actually live? A session that has ended cannot collide.
- Is the file excluded by an ignore rule on either machine?
Run runi doctor on both machines. If either says the repository is untracked, that is your answer. See Repositories.
Working as designed. A warning that arrives while a turn is already running reaches your next prompt, not the one in flight. No adapter can interrupt a turn mid-flight, and none should be able to.
None needed. If it matters, ask your agent to call runi_team_status, which answers as of that call.