Skip to content
Guide

What is inside the ~/.claude folder

~/.claude is where Claude Code keeps everything that is yours rather than the code you are working on: the skills, subagents and slash commands you have written, the plugins you have installed, your settings and permissions, your global CLAUDE.md, and a transcript of every session you have ever run. Most of it is configuration you can rebuild. One folder, projects, is the only copy of your history, and deleting it is the one deletion here you cannot undo.

What each thing in ~/.claude is for

~/.claude/skills/
Your personal skills, one folder per skill with a SKILL.md inside. Available in every project on the machine.
~/.claude/agents/
Your personal subagents. One markdown file each, whose frontmatter carries the name and the description that decides when the agent is picked.
~/.claude/commands/
Your custom slash commands. One markdown file per command, and the file name is the command you type.
~/.claude/plugins/
Installed plugins, with the skills, subagents and commands they brought with them. Not written by you, and restorable by reinstalling.
~/.claude/projects/
Session transcripts, one folder per project directory you have worked in. This is what --continue and --resume read, and the only record of what you actually used.
~/.claude/settings.json
Your settings: granted permissions, environment variables, hooks, model choice. The file that decides what Claude may do without asking.
~/.claude/CLAUDE.md
Your global instructions, loaded into every session in every project, on top of whatever CLAUDE.md the project itself has.

The split worth holding on to: the first four are things you install, the next is history, and the last two are how you have configured the tool. They fail in different ways, so they are worth treating differently.

Why the folder is so large

Almost always projects. Skills, agents and commands are small text files; transcripts are a line of JSON per message, kept for every session, and they accumulate quietly for as long as you use the tool. Nothing prunes them for you.

du -sh ~/.claude/*              # totals per entry, biggest offender usually projects
ls ~/.claude/projects           # one folder per project path you have worked in
Which part of ~/.claude is actually taking the space.

The project folder names are the project path with the slashes turned into dashes, which is why a repository you deleted months ago still has a folder here.

What is safe to delete, and what is not

  • projects: deleting it frees the most space and loses the most: session history goes, --continue and --resume have nothing to resume, and any count of which skills you have actually used is gone with it. There is no copy anywhere else.
  • settings.json: deleting it resets Claude Code to defaults. Nothing breaks permanently, but every permission you granted has to be granted again, and any hooks you configured stop firing silently.
  • CLAUDE.md: deleting it removes your standing instructions from every future session. Sessions still run; they just stop behaving the way you taught them to.
  • skills, agents, commands: deleting a folder removes that capability and nothing else. Safe, and reversible if the files are in a repository somewhere.
  • plugins: deleting it removes every installed plugin at once, along with the skills and commands they carried. Reinstalling brings them back.

The order that follows from this: prune projects if you need space, and read what is in skills, agents and commands before removing any of it. A folder you do not recognise is more often something you installed and forgot than something that does not matter.

The .claude folder in a project is a different thing

A repository can have its own .claude folder, and it holds the same kinds of things (skills, agents, commands, settings) scoped to that project and committed with it. It is not a copy of the home one, and the two are loaded together.

~/.claude/
Yours. Applies in every project on this machine, and travels with the machine, not the code.
.claude/ (in a repository)
The project’s. Applies only inside it, and arrives with a clone for everyone on the team.

When a name exists in both, the project one wins. Both are still loaded, which is the usual explanation for a skill that behaves differently in one repository than in another.

Questions

Can I delete the ~/.claude folder?
You can, and Claude Code will recreate what it needs on the next run, but you lose all session history, every granted permission, your global CLAUDE.md and anything you wrote in skills, agents or commands. Delete individual entries instead, and leave projects for last.
What is taking up all the space in ~/.claude?
The projects folder, in nearly every case: one transcript per session, kept indefinitely, with nothing that cleans them up. Run du -sh ~/.claude/* to confirm before deleting anything.
Is ~/.claude the same as ~/.claude.json?
No. ~/.claude is the folder holding your skills, plugins, history and settings.json. ~/.claude.json is a separate file next to it in your home directory, and the two are not interchangeable when you are following instructions that name one of them.

Loadout shows all of this in one list, with usage counts

A free Mac app that reads the same folders this guide describes: every skill, subagent, slash command, plugin and MCP server, and how often each one actually fires. Nothing leaves your machine.