feat(cli): Add session ID support to resume command#561
Open
A13xSM wants to merge 2 commits intodanielmiessler:mainfrom
Open
feat(cli): Add session ID support to resume command#561A13xSM wants to merge 2 commits intodanielmiessler:mainfrom
A13xSM wants to merge 2 commits intodanielmiessler:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR enhances the resume functionality by allowing users to resume a specific Claude Code session by providing its UUID, rather than being limited to resuming only the most recent session.
Changes:
- Modified the
cmdLaunchfunction signature to accept either a boolean or string (UUID) for theresumeparameter - Updated argument parsing logic to detect and validate UUID-formatted session IDs following the
--resumeflag - Enhanced help documentation with examples demonstrating session ID usage
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Allow users to resume specific Claude Code sessions by passing a session ID to the -r/--resume flag. This enables direct session navigation without having to resume the most recent session first. Usage: pai -r # Resume last session pai -r 285728b4-8814-40c4-b643-bb7a8e81859e # Resume specific session Changes: - Modified cmdLaunch to accept session ID as string or boolean - Updated argument parsing to detect UUID format after --resume - Enhanced help text with session ID usage examples Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ff6b39e to
305433b
Compare
When resuming a session by ID, the wrapper now automatically: 1. Finds the session file in ~/.claude/projects/ 2. Extracts the original working directory (cwd) 3. Changes to that directory before launching Claude This eliminates the need for users to remember which directory a session was created in or manually use the -l flag. Before: pai -r <session-id> # Failed with "No conversation found" After: pai -r <session-id> # Works! Auto-switches to session's original cwd Implementation: - Added extractSessionCwd() to parse session files - Modified cmdLaunch() to use extracted cwd for session ID resumes - Maintains backward compatibility with boolean resume flag Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
-r/--resumeflagcmdLaunchfunction to acceptresumeas eitherbooleanorstring(session ID)--resumeflagMotivation
Currently, users can only resume the most recent session with
pai -r. If they want to return to an older session, they must use theclaude --resume <session-id>command directly, bypassing the PAI wrapper and losing PAI's startup configuration (MCP profiles, directory changes, voice notifications, etc.).This enhancement allows direct navigation to any session by ID while maintaining all PAI wrapper functionality.
Usage
Test Plan
pai -r(no session ID)pai helpImplementation Details
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i) ensures only valid session IDs are acceptedpai -rusage continues to workDocumentation Updates
cmdHelp()with new usage pattern🤖 Generated with Claude Code