← Back to Blog

How to Give Claude Code Memory Across Sessions (Chief of Staff Workflow)

A Claude Code “Chief of Staff” workflow gives Claude persistent memory across sessions by using a custom slash command that reads a folder of markdown notes before each conversation begins. The user creates a file at ~/.claude/commands/chief-of-staff.md with instructions, then maintains a “brain dump” file with project statuses, open loops, and client notes. Running /chief-of-staff loads all context automatically, eliminating the need to re-explain ongoing work each session.

Claude Code forgets everything when you close the window. Every new session starts blank. You explain your projects, your clients, what you’re working on, and then next time you do it all again. It’s like having a brilliant assistant with total amnesia between every meeting.

There’s a simple workaround for this. You build a “Chief of Staff” setup: a custom slash command that reads a folder of notes before the conversation starts. Claude gets your full context instantly, every time.

This guide walks you through building it from scratch.

What’s a slash command?

A slash command is a shortcut you define in Claude Code. Instead of typing out a long setup prompt at the start of every session, you type /chief-of-staff and Claude reads a pre-written instruction file that tells it who you are, what your projects are, and how to work with you.

Claude Code looks for your custom commands in a folder called ~/.claude/commands/. The ~ symbol is shorthand for your home directory, which on a Mac is something like /Users/yourname/. So ~/.claude/commands/ is a hidden folder in your home directory. You can open it in Finder by pressing Cmd+Shift+G and pasting ~/.claude/commands/.

Any .md file you put in that folder becomes a slash command. A file named chief-of-staff.md becomes /chief-of-staff.

What’s a markdown file?

Markdown is a lightweight way to format text. You write plain text with simple symbols (like ## for a heading or - for a bullet point), and it renders as formatted text. Claude reads markdown natively, so these files are the ideal format for instructions and notes.

Files ending in .md are markdown files. That’s what you’ll use throughout this setup.

The setup

Step 1: Create the slash command file

Create a file at ~/.claude/commands/chief-of-staff.md. You can do this in any text editor. This file is Claude’s instructions for the session. For a deeper tutorial on building skills like this, see How to Make a Claude Code Skill.

Here’s a starting template:

# Chief of Staff

You are my Chief of Staff. You know my projects, clients, and priorities.
You help me think through decisions, stay on top of open loops, and figure
out what to work on next.

You are direct. You ask good questions. You don't wait to be asked to notice
something important.

## First thing every session

Read all files in this folder before we start:
/Users/yourname/chief-of-staff-sessions/

Then greet me with a summary of what you know, what's time-sensitive,
and one question worth thinking about today.

$ARGUMENTS

The $ARGUMENTS at the end is a placeholder. When you run /chief-of-staff, anything you type after it gets passed in there. So /chief-of-staff it's Monday and I just had a rough call with a client would append that note to the instructions.

Replace /Users/yourname/chief-of-staff-sessions/ with the actual path to wherever you want to store your session files.

Step 2: Create the session folder

Create a folder for your notes. Something like:

~/chief-of-staff-sessions/
├── brain-dump.md
├── topics-for-sarah.md
└── weekly-priorities.md

You only need one file to start. The brain dump is the main one.

Step 3: Write your brain dump

The brain dump is a plain text file that captures everything Claude needs to know. Think of it like a handoff doc you’d give a new team member. Here’s the kind of structure that works well:

## CLIENT: Acme Corp
- Status: Q2 report due April 15
- This week: need to finish slide deck
- Owed: send revised budget by Thursday

## CLIENT: Side Project
- Status: website prototype in progress
- Deadline: end of month
- Blockers: waiting on logo from designer

## PERSONAL
- Avoiding: tax paperwork (has been on list for 3 weeks)
- Excited about: new course idea, talked to 3 people who want it

## OPEN LOOPS
- [ ] Follow up with Ben about the collaboration
- [ ] Schedule dentist appointment
- [ ] Reply to that intro email from Tuesday

The format doesn’t matter much. Claude is good at reading informal notes. What matters is that the information is there.

Step 4: Start a session

Open Claude Code (in your terminal, that’s the claude command) and type:

/chief-of-staff

Claude reads your brain dump, greets you with a summary, and you’re ready to work. No re-explaining. No “let me catch you up.”

How a session works

The loop is simple:

  1. You run /chief-of-staff
  2. Claude reads all the session files and greets you with context
  3. You update Claude on what changed (“sent the invoice,” “that call went well,” “new deadline came in”)
  4. Claude updates your files in real time as things change
  5. Next session, the files reflect the current state

The brain dump isn’t static documentation. It’s a live document that Claude edits during the session. If you close a loop, Claude removes it. If a new deadline appears, Claude adds it. You’re keeping one file accurate instead of re-briefing from scratch every time.

Drop in meeting notes

One of the more useful things about this setup: you can paste in raw meeting transcripts or call notes and Claude will extract what matters.

If you save a transcript to something like ~/chief-of-staff-sessions/call-notes/acme-call-2026-03-12.md, Claude can read it and update the brain dump automatically. Action items get captured. Status gets updated. You don’t have to write a summary yourself.

Adding more files as the system grows

The session folder can hold as many files as you need. Just be mindful of how much context you’re loading. Your CLAUDE.md Is Probably Too Long covers how to keep things lean.

Some patterns that work well:

  • A file per recurring person you work with, for running notes on those relationships
  • A “parking lot” file for ideas you want to return to but not now
  • A “weekly review” file with standing questions you like to ask yourself each week

Claude reads all of them at the start of each session. The more useful context you put in, the faster it orients.

Why this works

The setup is just text files. There’s no app to log into, no database to maintain, no sync service to break. The files live on your computer. Claude reads them. That’s the whole system.

For an upgraded version where Claude generates an HTML page for your responses, see How to Build Interactive HTML Check-in Tools.

The interesting part is what it changes about the conversation. Instead of Claude being a general-purpose assistant that needs to be briefed from zero, it becomes a thinking partner that knows your situation. It can ask the right questions, notice what’s been sitting too long, and flag what’s time-sensitive, because the context is already there.

That shift from “explain everything again” to “pick up where we left off” is the actual value. The text files are just how you get there.

Further reading


Common Questions

How do I give Claude Code memory between sessions?

Create a slash command file at ~/.claude/commands/chief-of-staff.md that instructs Claude to read a folder of notes at session start. Maintain those notes with project statuses, client info, and open tasks. Claude reads them automatically when you invoke the command.

What is a Claude Code slash command?

A slash command is a custom shortcut defined as a markdown file in ~/.claude/commands/. The filename becomes the command name. A file called chief-of-staff.md becomes /chief-of-staff. When invoked, Claude reads the file as instructions for the session.

Can Claude Code update my notes automatically during a session?

Yes. When you tell Claude a task is done or a new deadline appeared, it can edit your brain dump file in real time. The next session reads the updated file, so context stays current without manual note-taking.

How do I use meeting transcripts with the Chief of Staff workflow?

Save a transcript to your session folder. Claude reads it at session start and can extract action items, update project statuses, and flag follow-ups automatically. Speaker labels may be imperfect depending on the transcription tool, but Claude works around that.


A note from Alex: hi i’m alex - i run code for creatives. i’m a writer so i feel that it is important to say - i had claude write this piece based on my ideas and ramblings, voice notes, and teachings. the concepts were mine but the words themselves aren’t. i want to say that because its important for me to distinguish, as a writer, what is written ‘by me’ and what’s not. maybe that idea will seem insane and antiquated in a year, i’m not sure, but for now it helps me feel okay about putting stuff out there like this that a) i know is helpful and b) is not MY voice but exists within the umbrella of my business and work. If you have any thoughts or musings on this, i’d genuinely love to hear them - its an open question, all of this stuff, and my guess is as good as yours.

Ready to build this yourself?

Join the next cohort of Code for Creatives

Join the Next Cohort →