ListAgents gives two live sessions the same bracketed ref, in the line that tells each how it is addressed
What happens. ListAgents labels each row with a short bracketed
ref — name [36024e] — presented as what disambiguates two rows sharing a
name. Two live sessions in different containers, working in the same project
directory, are labelled with the same ref, including in the self-describing
first line each is shown for itself.
Measured on 2.1.278.
- Two background sessions in one container, distinct names: `refprobe-a
[ce3140] and refprobe-b [0039df]` — distinct, as intended.
- A session's self-line carries its own ref:
refprobe-arunningListAgents
names itself [ce3140].
- Two sessions in different containers, same project directory, each named
itself [36024e].
Addressing fails closed, which is the good news. Four sends throughSendMessage:
| to: | result |
| --- | --- |
| refprobe-b [ce3140] (name B, ref A) | refused — No agent named 'refprobe-b [ce3140]' is reachable. Did you mean: refprobe-b, refprobe-a? |
| ce3140 (bare ref) | refused — No agent named 'ce3140' is reachable. |
| refprobe-a [ce3140] (matched pair) | delivered |
| refprobe-a (bare name) | delivered |
A mismatched pair is rejected rather than silently resolved, and a bare ref
resolves to nothing at all. So no message can be misdelivered by this: it is a
listing defect, not a routing one.
Inference, not measurement. In both colliding containers claude runs as
pid 7 — lup-entrypoint at pid 1, claude at 7 — and the two sessions share
a project directory. If the ref derives from the pid, perhaps with the project
path, then every contained session that believes itself pid 7 in the same
project collides. We cannot see the derivation; this is the hypothesis that
fits what we can see, and the distinct refs within one container are the
control.
Why it is worth fixing although sends fail closed. The collision shows up
in the self-description line, which is exactly the line a reader acts on: it
states the name other sessions use to reach this one. Two such lines side by
side read as one session listed twice.