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:
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:
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:
ls -dt projects/$ARGUMENTS/tasks/*/ 2>/dev/null | head -10
Step 2: Set Active Project
Create the active project marker:
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:
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:
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