All skills
Skillintermediate

šŸ–„ļø Multi-Window Context

<div align="center">

Claude Code Knowledge Pack7/10/2026

Overview

<div align="center">

šŸ  Home › Autonomous › šŸ–„ļø Multi-Window Context

← Autonomous Agent ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā—ā”ā” Autonomous →

</div>

šŸ–„ļø Multi-Window Context

TL;DR: State persistence across Claude Code sessions. Checkpoint your progress, resume from interruptions. Essential for long-running workflows.


Diagram

%%{init: {'theme': 'base', 'themeVariables': {'lineColor': '#64748b'}}}%%
flowchart TB
    classDef checkpoint fill:#f59e0b,stroke:#d97706,stroke-width:2px,color:#ffffff
    classDef state fill:#10b981,stroke:#059669,stroke-width:2px,color:#ffffff

    subgraph Session1["Session 1"]
        S1P1["šŸ—ļø Phase 1"] --> S1CP["šŸ–„ļø Checkpoint"]:::checkpoint
        S1CP --> S1P2["šŸ”— Phase 2"]
        S1P2 --> INTERRUPT["āŒ Interrupt"]
    end

    subgraph Session2["Session 2 (Resume)"]
        RESUME["šŸ”„ Resume"] --> S2P2["Continue Phase 2"]
        S2P2 --> S2P3["šŸ“ Phase 3"]
        S2P3 --> DONE["āœ… Complete"]
    end

    S1CP -.->|šŸ’¾ State saved| STATE[("šŸ’¾ State Store")]:::state
    STATE -.->|šŸ’¾ State loaded| RESUME

    classDef session1Box fill:#fef2f2,stroke:#ef4444,stroke-width:2px,color:#991b1b
    classDef session2Box fill:#ecfdf5,stroke:#10b981,stroke-width:2px,color:#065f46

    Session1:::session1Box
    Session2:::session2Box

When to Use

  • Large-scale generation (1000+ files)
  • Long research tasks
  • Multi-day workflows
  • Error recovery needs
  • Context window limitations

Implementation

Session 1:
  1. Work on Phase 1
  2. Save checkpoint (progress, decisions, context)
  3. Continue until context limit or interruption

Session 2:
  1. Load checkpoint
  2. Resume from saved state
  3. Continue execution

Flow Example

šŸ–„ļø MULTI-WINDOW CONTEXT
Session 1: šŸ™‹ā€ā™€ļøšŸ“„ ──► šŸ”šŸ“‹ ──► šŸ”āš” ──► šŸ–„ļøšŸ’¾ ──► [Context Limit]
                                      ↓
Session 2: šŸ–„ļøšŸ’¾ ──► šŸ”āš” ──► šŸ”šŸ‘€ ──► šŸ”šŸ’­ ──► šŸ’ā€ā™€ļøšŸ“¤

Checkpointing for Long Workflows

%%{init: {'theme': 'base', 'themeVariables': {'lineColor': '#64748b'}}}%%
flowchart LR
    classDef checkpoint fill:#f59e0b,stroke:#d97706,stroke-width:2px,color:#ffffff

    subgraph Workflow
        P1["šŸ—ļø Phase 1"] --> CP1["šŸ–„ļø Checkpoint"]:::checkpoint
        CP1 --> P2["šŸ”— Phase 2"]
        P2 --> CP2["šŸ–„ļø Checkpoint"]:::checkpoint
        CP2 --> P3["šŸ“ Phase 3"]
    end

    FAIL["āŒ Failure/Interrupt"] -.->|Resume from| CP2

Checkpoint Data Structure

Basic Structure

{
  "workflow_id": "wf_2025_001",
  "current_phase": 2,
  "completed_tasks": ["task_1", "task_2"],
  "pending_tasks": ["task_3", "task_4"],
  "state": {
    "variables": {},
    "context_summary": "..."
  },
  "resume_point": "checkpoint_2",
  "timestamp": "2025-11-28T10:00:00Z"
}

Full Implementation Example

{
  "workflow_id": "locale-gen-2025-001",
  "workflow_type": "multi-locale-generation",
  "version": "1.0",

  "progress": {
    "current_phase": 2,
    "total_phases": 4,
    "phase_name": "locale_generation",
    "percent_complete": 45
  },

  "completed_tasks": [
    {
      "id": "task_001",
      "name": "generate_en_US",
      "status": "completed",
      "output_files": ["locales/en-US.json"],
      "completed_at": "2025-11-28T09:30:00Z"
    }
  ],

  "pending_tasks": [
    {
      "id": "task_003",
      "name": "generate_de_DE",
      "status": "pending",
      "dependencies": ["task_001"]
    }
  ],

  "state": {
    "primary_locale": "en-US",
    "target_locales": ["fr-FR", "de-DE", "es-ES", "ja-JP"],
    "context_summary": "Generating locale files for e-commerce app..."
  },

  "resume_instructions": "Load checkpoint, spawn locale-generator for de-DE and es-ES in parallel, then proceed to validation phase.",

  "metadata": {
    "created_at": "2025-11-28T09:00:00Z",
    "updated_at": "2025-11-28T09:50:00Z",
    "checkpoint_number": 3
  }
}

Loading a Checkpoint

# At session start, check for existing checkpoint
checkpoint_file = ".claude/checkpoints/locale-gen-2025-001.json"

if os.path.exists(checkpoint_file):
    checkpoint = load_json(checkpoint_file)

    # Resume from saved state
    print(f"Resuming workflow: {checkpoint['workflow_id']}")
    print(f"Progress: {checkpoint['progress']['percent_complete']}%")
    print(f"Next: {checkpoint['resume_instructions']}")

    # Continue pending tasks
    for task in checkpoint['pending_tasks']:
        if task['status'] == 'pending':
            execute_task(task)

State Persistence Mechanisms

MechanismBest ForExample
Structured (JSON/YAML)Queryable datatests.json with status
Freeform (Markdown)Progress notesprogress.txt
Git checkpointsCode stategit commit -m "WIP"

Use Cases

Use CaseWhy Multi-Window?
Large-scale generation1000+ files exceed context limits
Long research tasksDays of research need persistence
Multi-day workflowsCannot complete in single session
Error recoveryResume after failures
Team handoffsDifferent operators continue work

<div align="center">

← Autonomous Agent ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā”ā—ā”ā” Autonomous →

</div>