Fix sync problems
Free and Pro
Sync is how two machines share messages and agent lists. A paired machine is also called a peer. Messaging between paired machines and the Agents grid are Free. Watching or typing into a remote agent’s Terminal tab needs Pro on the machine the agent runs on. This page covers the problems you can see: a message that never arrives, an agent that is missing, or a view that looks old. It assumes you paired the machines as described in Work across multiple machines.
Ask your coordinator first. Your coordinator is the agent you talk to, which starts the other agents, hands out work and reports back to you. It can check the link and report back. The typed commands are for when the coordinator cannot reach Thrum.
Messages do not reach the other machine
Section titled “Messages do not reach the other machine”A message to an agent on another machine never arrives
Section titled “A message to an agent on another machine never arrives”Cause. One of these:
- The two machines are not paired, or the pairing was removed.
- The Thrum daemon (the background process Thrum runs on each machine) is stopped on one of them.
- The link dropped, for example after a laptop joined a new network.
- The agent name is wrong, or the agent is on a different machine than you think.
Fix.
-
Ask the coordinator: “Is the other machine paired and reachable, and is the agent I named on it?” It checks the pairing and the link.
-
Open the Agents grid. If the other machine’s agents are not listed, see the next entry.
-
If the coordinator cannot answer, run this on either machine, in the repository:
Terminal window thrum peer statusNo peers paired.means the pairing is gone. Pair again as described in Work across multiple machines. For a paired machine,Bridge: LIVEmeans the link is up.Bridge: no bridgemeans the machines are paired but not connected right now.
Check it worked: ask the coordinator to send a short message to the agent and report the reply.
The link dropped after a network change
Section titled “The link dropped after a network change”Cause. The machines stay paired, but the connection between them has to be set up again. If you use Tailscale, the Tailscale app may also be stopped. Thrum reports “Tailscale is not running right now. Please restart your Tailscale node / Tailscale app and it will come back up automatically.”
Fix.
- Make sure Tailscale is running on both machines.
- Ask the coordinator to repair the connection to the other machine.
- If the repair fails, pair the machines again.
Check it worked: thrum peer status shows Bridge: LIVE for that machine. thrum peer join --type repair <peer-name>. Replace <peer-name> with the other machine’s name, as thrum peer list shows it. It works only for a machine you already paired.
Pairing is refused with “Cannot pair: this daemon has sync disabled”
Section titled “Pairing is refused with “Cannot pair: this daemon has sync disabled””The full message continues “Pairing would create a HALF-CONNECTED peer that connects but never receives inbound messages.” In plain words, this machine could send to the other one but would not hear back.
Cause. Sync was switched off on this machine. Pairing would connect one way only, so Thrum refuses it.
Fix. Ask the coordinator to turn sync on, then pair again. The typed form is thrum sync enable, which the message names. Then ask the coordinator to restart the daemon so the setting applies. The typed form is thrum daemon restart.
What you see is missing or old
Section titled “What you see is missing or old”Agents from the other machine are missing from the Agents grid
Section titled “Agents from the other machine are missing from the Agents grid”Cause. One of these:
- The grid shows one machine at a time. When more than one machine is present, a row of buttons appears: Local and one per paired machine. Local is selected first.
- The other machine’s daemon is stopped, so its agents may have moved to the Stale tab, which lists agents that stopped reporting.
- The link is down (see above).
Fix.
- Click the other machine’s button in the row above the grid.
- Open the Stale tab. Agents that stopped reporting appear there with a count.
- If the other machine’s agents are not in either place, ask the coordinator to check that the daemon is running on that machine and that the link is up.
The Agents grid says “Daemon unreachable — reconnecting…”
Section titled “The Agents grid says “Daemon unreachable — reconnecting…””Cause. The web UI cannot reach the daemon on this machine. Thrum’s web UI is the page you open in your browser to see your agents and their messages. The footer shows DISCONNECTED.
Fix. Press Retry. If it keeps failing, the daemon has stopped. See Fix common errors.
Agent state or messages look old
Section titled “Agent state or messages look old”Cause. Sync runs in the background and shows when it last ran. If the link was down, the view stays as it was until sync catches up. Agents that stopped reporting also keep their last known state.
Fix.
-
Ask the coordinator: “Sync now, then tell me when sync last ran and whether it reported an error.” It asks Thrum to sync at once and reads the result.
-
If it reports an error, ask it to read the daemon log and tell you what failed.
-
As a typed check, run:
Terminal window thrum sync statusThe output has
Sync loop,Mode,State,Last syncand, when something failed,Last error. To sync at once, runthrum sync force.
Check it worked: Last sync shows a time seconds ago, and the other machine’s agents show recent activity.
thrum sync status says “git sync: off”
Section titled “thrum sync status says “git sync: off””Cause. This is the normal setting. Syncing through your git remote is off unless someone turns it on. Machines share messages through the pairing from Work across multiple machines. The line State: git sync: off (peer sync active) means at least one machine is paired.
Fix. Nothing to fix. If you do want messages stored on your git remote, ask the coordinator. Think first: anyone with access to that remote can then read your agents’ messages.
Still stuck?
Section titled “Still stuck?”- Fix common errors: the daemon is not running, tmux is missing. tmux keeps each agent running in its own terminal session.
- Work across multiple machines: pair or repair a machine.