pbakaus/impeccable · warning
[impeccable] The live server has no record of session
Error message
[impeccable] The live server has no record of session
What it means
When the browser sends a checkpoint event, the live server can refuse with error 'unknown_session' if it has never journaled that session id. This happens when the browser carries localStorage state from another project or a wiped store (two apps sharing the same localhost port). abandonForeignSession clears the stale local state once and hands the surface back to the picker, because continuing would freeze the picker behind a session that can never complete.
Source
Thrown at skill/scripts/live-browser.js:7399
abandonForeignSession(msg.id);
return null;
}
return handleFailure(new Error(body.error || ('HTTP ' + res.status + ' ' + res.statusText)));
}).catch(handleFailure);
if (msg.type === 'generate' || msg.type === 'steer') {
const creation = doSend();
sessionCreationGate = creation.then(() => {}, () => {});
return creation;
}
return sessionCreationGate.then(doSend);
}
let abandonedForeignSessionId = null;
function abandonForeignSession(sessionId) {
if (abandonedForeignSessionId === sessionId || sessionId !== currentSessionId) return;
abandonedForeignSessionId = sessionId;
console.warn('[impeccable] The live server has no record of session ' + sessionId + '; clearing stale local state.');
markSessionHandled();
cleanup({ instantChrome: true });
showToast('A saved live session belonged to a different project, so it was cleared. Pick an element to start fresh.', 6000);
}
function checkpointPayload(reason) {
return {
type: 'checkpoint',
id: currentSessionId,
revision: sessionState.nextCheckpointRevision(),
revisionDomain: 'browser',
owner: browserOwner,
phase: String(state || '').toLowerCase(),
reason,
pageUrl: location.pathname,
expectedVariants,
arrivedVariants,
visibleVariant,View on GitHub (pinned to 2bc2879276)
Solutions
- Nothing to fix manually — the script clears the stale state itself; pick an element to start a fresh session.
- Use different ports per project to avoid per-origin localStorage collisions.
- Clear site data (localStorage) for the origin if stale sessions keep appearing.
- Re-pick the element in the current project so the server journals a new session id.
Defensive patterns
Strategy: fallback
Validate before calling
const res = await sendCheckpoint(msg);
// server-side guard before adopting local state:
if (res?.body?.error === 'unknown_session') {
// local state is stale/foreign: clear and re-pick
markSessionHandled();
cleanup({ instantChrome: true });
} Prevention
- Assign each project a unique dev port to avoid per-origin localStorage collisions.
- Clear localStorage for localhost origins when switching projects.
- After wiping/resetting the server store, clear browser session state too.
- Treat unknown_session on checkpoint as 'stale local state', not a server bug.
When it happens
Trigger: A checkpoint POST to the live server returns {error:'unknown_session'} for msg.id === currentSessionId — i.e. a saved session resumed in a different project that happens to reuse the same localhost port, or after the server's session store was wiped/reset.
Common situations: Two projects developed on the same port (e.g. both localhost:5173); server restarted with a cleared session store; switching between branches/projects without clearing localStorage; resuming an old saved session after reinstalling the engine.
Understand the failure class
Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.
Related errors
- [impeccable] Ignoring saved live session from another projec
- [impeccable] apply returned no verified edits:
- [impeccable] skipped unsafe copy edit DOM restore for
- [impeccable] Could not find original element in live DOM.
- [impeccable] Discarding orphaned session
AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08).
Data as JSON: /api/errors/99b197bcf7561d20.
Report an issue: GitHub.