Skip to content

Conversation

@A13xSM
Copy link

@A13xSM A13xSM commented Feb 2, 2026

Summary

  • Added ability to resume specific Claude Code sessions by passing a session ID to the -r/--resume flag
  • Modified cmdLaunch function to accept resume as either boolean or string (session ID)
  • Updated argument parsing to detect UUID format after --resume flag
  • Enhanced help text with session ID usage examples

Motivation

Currently, users can only resume the most recent session with pai -r. If they want to return to an older session, they must use the claude --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

# Resume last session (existing behavior)
pai -r

# Resume specific session by ID (new feature)
pai -r 285728b4-8814-40c4-b643-bb7a8e81859e

Test Plan

  • Tested with valid session IDs
  • Tested backward compatibility with pai -r (no session ID)
  • Verified help text displays correctly with pai help
  • Confirmed UUID validation rejects non-UUID arguments
  • Verified that invalid session IDs are handled by Claude Code (not the wrapper)

Implementation Details

  • UUID pattern matching (/^[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 accepted
  • Falls back to "resume last" behavior if next argument is not a UUID
  • Fully backward compatible: existing pai -r usage continues to work
  • No breaking changes

Documentation Updates

  • Updated cmdHelp() with new usage pattern
  • Added example with session ID to help text

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings February 2, 2026 20:48
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 cmdLaunch function signature to accept either a boolean or string (UUID) for the resume parameter
  • Updated argument parsing logic to detect and validate UUID-formatted session IDs following the --resume flag
  • Enhanced help documentation with examples demonstrating session ID usage

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@A13xSM A13xSM changed the title feat: Add session ID support to resume command feat(cli): Add session ID support to resume command Feb 2, 2026
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 <[email protected]>
@A13xSM A13xSM force-pushed the feature/resume-session-by-id branch from ff6b39e to 305433b Compare February 2, 2026 20:56
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 <[email protected]>
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.

1 participant