Skip to content

Add --source to the local picker and support multiple sources in local and all - #121

Open
natepixel wants to merge 1 commit into
simonw:mainfrom
natepixel:codex/repeatable-source
Open

natepixel wants to merge 1 commit into
simonw:mainfrom
natepixel:codex/repeatable-source

Conversation

@natepixel

Copy link
Copy Markdown

Thanks for making this tool! I love how simple it is and use it almost every day.

I use two Claude Code profiles on my Mac. I recently wanted a link to a session that had hit its usage limit. The session was under ~/.claude-personal/projects, and the local picker only showed sessions from ~/.claude/projects. The all command already accepted --source. Adding that option to local let me point the picker at my personal profile, find the session, and get the transcript link I needed.

I also made --source repeatable on both commands. Here’s how I browse both profiles together:

claude-code-transcripts -s ~/.claude/projects -s ~/.claude-personal/projects

The picker groups sessions by source and applies --limit to each group, with a default of 10 per source. With all, the same two -s arguments produce a top-level index linking to each source’s archive. That keeps sessions distinct even when both profiles have identical project and session names. A single source keeps the existing archive layout.

Explicit --source arguments take precedence. When none are supplied, both commands use $CLAUDE_CONFIG_DIR/projects if set and ~/.claude/projects otherwise, following the approach proposed in #80.

Testing

I used the picker to get the link to my session and reviewed the combined archive on my Mac. It contained 338 sessions across 130 projects. Every project and session link resolved, and Chrome click-through checks reached a transcript from each profile at desktop and phone widths. During review, I noticed the source labels sat against the card border, so I updated them to use the same padding as the project labels.

All 149 tests passed on macOS, including 27 new cases covering both commands. Those cases include selecting from the second profile, applying limits per source, handling duplicate or invalid sources, and following archive links when names collide or contain URL-reserved characters.

Closes #120.

@natepixel
natepixel marked this pull request as ready for review November 12, 2026 19:58

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support repeatable --source for local and all

1 participant