openclaw/openclaw · error · ClaudeCatalogParamsError
Claude session transcript is unavailable
Error message
Claude session transcript is unavailable
What it means
Error "Claude session transcript is unavailable" thrown in openclaw/openclaw.
Source
Thrown at extensions/anthropic/session-catalog-terminal.ts:115
export async function openClaudeCatalogTerminal(
params: {
api: OpenClawPluginApi;
hostId: string;
threadId: string;
} & ClaudeTerminalDependencies,
): Promise<SessionCatalogTerminalPlan> {
const title = `claude --resume ${params.threadId.slice(0, 8)}…`;
if (params.hostId === CLAUDE_LOCAL_SESSION_HOST_ID) {
const record = (await params.listClaudeSessions()).find(
(candidate) => candidate.threadId === params.threadId,
);
if (!record || !isResumableClaudeSource(record.source)) {
throw new ClaudeCatalogParamsError("Claude session is unavailable");
}
const source = await fs.stat(record.filePath).catch(() => undefined);
if (!source?.isFile()) {
throw new ClaudeCatalogParamsError("Claude session transcript is unavailable");
}
const resolution = resolveClaudeTerminalExecutable();
if (!resolution) {
throw new ClaudeCatalogParamsError("Claude CLI is unavailable");
}
return {
kind: "local",
argv: [resolution.executable, "--resume", params.threadId],
...(record.cwd ? { cwd: record.cwd } : {}),
...(resolution.pathEnv ? { pathEnv: resolution.pathEnv } : {}),
title,
};
}
if (!params.hostId.startsWith("node:")) {
throw new ClaudeCatalogParamsError("hostId is invalid");
}
const nodeId = params.hostId.slice("node:".length);
const node = (await params.api.runtime.nodes.list()).nodes.find((candidate) => {View on GitHub (pinned to 01804a7531)
When it happens
Trigger: Thrown at extensions/anthropic/session-catalog-terminal.ts:115 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of openclaw/openclaw@01804a7531 (2026-08-12).
Data as JSON: /api/errors/a6a9d22c9a63dda9.
Report an issue: GitHub.