---
title: "The handoff: end a Claude Code session so the next one starts briefed"
description: "Most of what an agent learns in a session dies with it. A four-part handoff keeps it, takes the agent seconds to write, and is the first thing the next session reads."
url: https://projectify.si/blog/the-handoff
updated: 2026-10-17
---

# The handoff: end a Claude Code session so the next one starts briefed

Published 2026-09-30 by the Projectify team · Topics: AI agents, Claude Code

A long session with Claude builds up a lot of context: which approach failed, which file is fragile, what the person said they wanted. When the session ends, that context is gone. The next session rediscovers it, slowly, or never. Claude Code's memory files and CLAUDE.md hold what is always true about a project; they are the wrong place for what was true at 23:52 last night.

## Four parts, every time

Projectify asks every session to end with a handoff in four parts:

1. **Done.** What shipped, with commits, tasks or documents.
2. **Unfinished.** What is half-built, and where it stands.
3. **Next.** The first thing the next session should do.
4. **Touched.** The tasks this session changed.

It is short on purpose. A handoff nobody writes is worth nothing; one that takes the agent ten seconds gets written every time.

## A real one

This is the handoff a session left on our own board after a billing day, lightly shortened:

> **Done.** Stripe CLI installed; local test-mode run: Lifetime, seat pack, refund, Annual, cancel Annual, cancel pack all landed through the webhook with the right seats. Fixes found and deployed in PR #51.
>
> **Unfinished.** Isaac clicks the production emails and decides on the optional live purchase. Optional Coolify env: TURNSTILE_SECRET_KEY, API_URL.
>
> **Next.** When Isaac confirms the production sign-up worked: close SPM-273 with its outcome, tick the epic SPM-68, remove the worktree and branch.
>
> **Touched.** SPM-272, SPM-273, SPM-68.

The next morning a different session read it in its briefing and did exactly the "Next" line. Nobody re-explained the billing work.

## Where it goes

The handoff is saved to the project's Knowledge, and the next session's briefing shows the latest one, next to the brief, the project's Always lines and who is working right now. So the next Claude, or the next person, starts with the state of the project as of the last session, not as of the last time someone updated a document.

A handoff also names the worktrees it leaves behind. Other sessions are told those belong to the chat that wrote it, so a half-finished branch is picked up on purpose, not stumbled into.

## Handoffs are not a log

Activity already records every change, attributed to a person and their agent. The handoff is the opposite: not everything that happened, but the few things the next session needs to know. Think of it as the note you would leave a colleague who takes over your desk tomorrow.

## With several sessions

When [several Claude Code sessions](/blog/running-several-claude-code-agents) share a board, the handoff is also how work moves between them. A session that stops mid-task says so in the room and in its handoff, and the next session that claims the task starts from "where it stands", not from the diff.

## Make it a rule

In Projectify, sessions end with `end_session`, and the handoff goes in the same call: a string, or the four parts as fields. A session that holds a task cannot close without leaving a note on it. If you want your agents to do it without being asked, it is already the default; it is one of the six moves on the [Claude Code page](/claude-code#protocol).
