Load Project Tasks
Load tasks from projects/$ARGUMENTS/tasks/ into the current Claude Code session.
Tasks are stored in session subdirectories to preserve history across /clear commands:
code
projects/$ARGUMENTS/tasks/
├── {session-1-uuid}/
│ ├── 1.json
│ └── 2.json
└── {session-2-uuid}/
├── 1.json
└── 2.json
Process
Step 1: Validate Project
Check if the project exists and has task files:
bash
find projects/$ARGUMENTS/tasks -name "*.json" 2>/dev/null | head -5
If no task files exist, report: "No tasks found in projects/$ARGUMENTS/tasks/"
List available sessions:
bash
ls -dt projects/$ARGUMENTS/tasks/*/ 2>/dev/null | head -10
Step 2: Set Active Project
Create the active project marker:
bash
echo "$ARGUMENTS" > .claude-active-project
This ensures any new tasks created will sync back to this project.
Step 3: Load Tasks
Find and load all task JSON files from ALL session directories:
bash
find projects/$ARGUMENTS/tasks -name "*.json" -type f
For each JSON file found:
- •Read the task JSON file
- •Use TaskCreate to recreate the task with:
- •subject from JSON
- •description from JSON
- •activeForm from JSON
- •metadata:
{ "project": "$ARGUMENTS" }
- •If the task was already completed (status: "completed"), use TaskUpdate to mark it completed
Step 4: Report
After loading all tasks, report:
code
Loaded X tasks from projects/$ARGUMENTS/tasks/ - Sessions found: N - Pending: Y - Completed: Z Active project set to: $ARGUMENTS New tasks will automatically sync to this project.
Notes
- •Tasks are recreated with new IDs in the current session
- •The original task IDs from the project are not preserved
- •Tasks from ALL sessions are loaded (full history)
- •Task dependencies (blocks/blockedBy) are NOT currently preserved across load/sync cycles
- •Use TaskList to see the loaded tasks