earendil-works/pi · error · Error
Remote session is disposed
Error message
Remote session is disposed
What it means
Error "Remote session is disposed" thrown in earendil-works/pi.
Source
Thrown at packages/coding-agent/src/client/remote-session.ts:321
throw new Error(`Cannot ${description} while session is ${this.phase ?? "unavailable"}`);
}
await this.#runOperation(operation, run);
}
async #runOperation(operation: RemoteSessionOperation, run: () => Promise<void>, preempt = false): Promise<void> {
if (preempt) this.#assertNotDisposed();
else this.#assertAvailable();
const previous = this.#lifecycle;
const busy: RemoteSessionLifecycle = { status: "busy", operation };
this.#lifecycle = busy;
this.#activeOperationStates.add(busy);
this.#notify();
const running = run();
try {
await Promise.race([
running,
this.#disposeSignal.then(() => {
throw new Error("Remote session is disposed");
}),
]);
} finally {
this.#activeOperationStates.delete(busy);
if (!this.disposed && this.#lifecycle === busy) {
this.#lifecycle =
preempt && this.#activeOperationStates.has(previous)
? previous
: this.#handle
? { status: "ready" }
: { status: "unbound" };
this.#notify();
}
}
}
#bind(handle: SessionLease, knownSnapshot?: SessionSnapshot): void {
const snapshot = knownSnapshot ?? handle.snapshot;View on GitHub (pinned to 4af9d21d3b)
When it happens
Trigger: Thrown at packages/coding-agent/src/client/remote-session.ts:321 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/ee5746a83dc0c70d.
Report an issue: GitHub.