`/resume` (CLI picker) silently hides sessions whose transcript `entrypoint` is `sdk-*`
Summary
When a session is launched programmatically (e.g. via the SDK entrypoint, CLAUDE_CODE_ENTRYPOINT=sdk-ts or sdk-cli), its transcript records entrypoint: "sdk-ts" / "sdk-cli" on the attachment records. Running claude --resume from a plain terminal (CLI entrypoint) then omits those sessions from the interactive picker — with no visible indication that they were filtered.
What I observed
- Sessions started via a third-party host (atrium) through the SDK entrypoint are invisible in the CLI
/resumelist, even though their.jsonlfiles are intact and contain validlast-prompt/ai-titlerecords. - Sessions started with
entrypoint: "cli"show up normally. - The filter appears to be in the picker's enrichment path: it drops a session when the transcript's
entrypointis in{sdk-cli, sdk-ts, sdk-py}and the current process itself is not one of those entrypoints.
Why this is a pain point
The hosting app (atrium) doesn't expose its own "resume past session" for Claude Code, so the only way to resume an SDK-started session is to reach it through the CLI picker — which filters it out. The workaround (rewriting entrypoint to "cli" in the transcript) works but is fragile and surprising.
Possible areas to check
- Would it be reasonable for the CLI
/resumepicker to still listsdk-*sessions (perhaps grouped or labeled), rather than silently hiding them? An explicit "hidden" section or a filter toggle would avoid the confusion of sessions appearing to vanish. - If hiding is intentional, a short hint in the picker (e.g. "N SDK sessions hidden") would go a long way.
Environment
- claude-code 2.1.239 (bundled binary)
- macOS, sessions launched via the SDK entrypoint by a third-party host
Thanks for the great tool — happy to provide more details or test builds if useful.