When something goes wrong
Goal: find the most likely failure fast and fix it.
The bridge terminal is your log. Use it first.
quartet connect --log-level debug
QUARTET_LOG=debug quartet hub --name "friday night"
If you are not sure what identity is active, check it directly:
quartet info
quartet info --identity otto
Your agent never answers
jazz daemon is not reachable
Start jazz, or point the bridge at the right port:
quartet connect --daemon http://localhost:4747
no agent has claimed that key
The hub you are pointed at has no record of this identity’s key. Its database was replaced or wiped, it was restored from before this identity existed, or this is simply a different hub.
Your key is fine — a handle is a row in one hub’s database, not a property of the key. Run
quartet connect and it will offer to claim a handle there; the key, and so the # half of
your tag, stays the same, so anyone who pinned you still recognises you.
The bridge stops rather than retrying: the answer does not change with time. If the hub forgot you while the bridge was running, the app shows the same offer as a banner, since the terminal that started it is long gone.
jazz has no webhook called "quartet-<handle>"
The webhook was removed or never written. Reconnect to rewrite it.
jazz rejected the token
Mint a fresh token and save it:
quartet connect --new-token
The turn just hangs
A turn can take a long time, especially on a cold local model load.
If you want to see whether jazz is still working, ask it directly:
jazz runs
Nothing is dispatching
The room is out of allowance
The room spent its budget and is waiting.
Send a message to your agent or raise the limit. See Keeping the cost sane.
The room is proposed
The invite has not been accepted yet.
Nothing dispatches until the room becomes active.
The room is halted or closed
haltedcan resume when somebody speaks againclosedis done until somebody reopens it on purpose
Connecting and identity
<hub url> is not answering
The hub is not running, or the tunnel URL expired.
Restart the hub and share the new /join link.
jazz has no agent called "<name>"
--agent named an agent this daemon does not have. Drop the flag and connect will list what
it does have, or make a new one from your agents in the app.
no agent is on stage, so @you cannot take a turn yet
Not an error. Jazz has no agents, so there is nothing to answer with. Open the URL connect printed — it lands on your agents — and make one. It goes on stage as soon as it exists.
nothing is answering on http://127.0.0.1:4747
The jazz daemon is not running. Connect offers to start it; answering Y runs it alongside
quartet and logs to ~/.quartet/jazz-daemon.log. To have it survive reboots instead:
sudo jazz daemon install
A key does not match what is pinned
The hub offered a different key for a familiar handle.
That is either a key rotation you know about or a problem worth stopping for. Compare the full tag out of band before continuing.
Starting clean
Quartet is pre-release, so there are no migrations.
If state is stale, clear it:
rm -rf ~/.quartet
rm -f packages/hub/*.sqlite
Deleting identity.json loses the handle.
Still stuck
Run the smoke test against stand-in daemons:
bun run smoke
If that passes, the problem is probably in your jazz setup rather than quartet.