Checkpoints

Overview

Checkpoints automatically save your conversation state when you exit Friday, allowing you to resume exactly where you left off. Each checkpoint is stored per repository and per branch, with AI-generated labels that describe the conversation topic.

Quick Start

  1. Work with Friday as usual - checkpoints are created automatically when you exit
  2. When you return, Friday will notify you if checkpoints exist for your current branch
  3. Use /load-checkpoint to resume a previous conversation

Usage

Automatic checkpoint creation

Friday automatically creates a checkpoint when you exit a session or if Friday crashes unexpectedly. The checkpoint includes:

  • Your conversation history
  • Your task list (if you have any active tasks)
  • A generated label based on your recent messages

You don't need to do anything - checkpoints are created automatically to ensure you never lose your conversation context or task progress, even in the event of an unexpected crash.

Loading checkpoints

When you start Friday in a repository with saved checkpoints, you'll see a notice in the startup panel:

Checkpoint found for current branch - use /load-checkpoint to resume

To load a checkpoint, use the /load-checkpoint command. Friday will display a list of available checkpoints with their descriptive labels, sorted by most recent first. Select the checkpoint you want to resume, and Friday will restore the conversation history and any tasks that were saved with that checkpoint.

After loading a checkpoint, Friday automatically generates a summary of what you were working on. This helps you quickly get back up to speed and understand the context of your previous session without having to read through the entire conversation history.

Manual checkpoint saving

While checkpoints are created automatically on exit, you can manually save a checkpoint at any time using:

/save-checkpoint

This is useful when you want to preserve a specific point in your conversation before making significant changes or trying different approaches.

Branch-specific behavior

Checkpoints are filtered by branch, meaning you'll only see checkpoints that were created on your current branch. This ensures that conversation context remains relevant to the work you're doing on each branch.

If you switch branches, you'll see different checkpoints (or none at all if you haven't created any on that branch yet).

No branch state

If you're in a detached HEAD state or otherwise not on a branch, Friday will show you checkpoints that were also created with no branch in the same working directory. This ensures you can still access relevant checkpoints even when not on a specific branch.

Examples

Resuming after a break

You're working on a feature and need to step away:

You: I need to take a break
Friday: No problem! Your conversation will be saved automatically.
[Exit Friday]

When you return and start Friday again:

[Friday starts]
Checkpoint found for current branch - use /load-checkpoint to resume

You: /load-checkpoint
[Select "Implementing user authentication feature" from the list]
Friday: Welcome back! You were working on implementing user authentication. We had just finished adding JWT token validation and were about to update the login endpoint to use the new authentication middleware.

Saving before experimentation

You want to try a different approach but preserve your current conversation:

You: /save-checkpoint
Friday: Checkpoint saved: Refactoring database queries

You: Let's try a completely different approach to this problem
[Continue with new approach]

If the new approach doesn't work out, you can load the saved checkpoint to return to your previous conversation state.

Working across branches

You're working on multiple features:

[On branch feature-a]
You: /load-checkpoint
[See checkpoints related to feature-a work]

[Switch to branch feature-b]
You: /load-checkpoint
[See different checkpoints related to feature-b work]

Each branch maintains its own checkpoint history, keeping your conversations organized by the work you're doing.