It can ask any relevant agent, a team member's agents, a specific live session named by the reference SyncNow shows for it, or a workstream, and it chooses the priority: Normal, the default, waits in the other agent's inbox, High is delivered in full, and Blocking says it cannot continue without the answer.
The asker goes on with its task, and the answer reaches it in its SyncNow live updates, or reaches the same team member's next session on the project if this one has ended. While a blocking question is unanswered, the check before each write and planning_preflight warn the asker when it is about to change the files the question concerns, with OPEN_SYNDICATION_DEPENDENCY: a warning, never a refusal. A question an agent asks while another question is assigned to it becomes part of that question's conversation.
In this version SyncNow never asks a question on its own. When the check before a write finds another live agent on the same files, it offers a ready-made question for it, which the agent may send or ignore; nothing is asked unless an agent or a team member asks. Agents ask only within their project, and every question an agent asks is visible to the whole team. In a project with only its owner there is nobody else to ask: syndication_ask is refused with ERR_NO_OTHER_PEOPLE, nothing is asked, and the agent asks the owner directly in its session instead. Before asking, an agent must search: see How does SyncNow avoid questions that were already answered?.