← Claude Code Hub
Nov 14, 2026 · 5 min read ✦ Tip #270

Claude Code has skills you didn't install: how to remove them

Skills like `docx`, `pdf` or `xlsx` show up in your terminal without you installing them: Claude Code downloads them from your claude.ai account, plugins included. And their descriptions ride on every request.

Your claude.ai account downloads its skills and plugins into your terminal, and their listing rides on every request until syncClaudeAiSkills is false

TL;DR If /context lists skills under claude.ai sync that you never use in the terminal, add "syncClaudeAiSkills": false to ~/.claude/settings.json, plus "syncClaudeAiPlugins": false if you don't want the plugins either. On the next launch Claude Code stops downloading them and moves the ones it already has to the trash.

Since v2.1.273, every terminal session you sign in to with your claude.ai account downloads the skills and plugins that account has turned on. Skills land in ~/.claude/skills/synced/, and plugins in ~/.claude/plugins/synced/, where they load as <name>@synced. There's no prompt to accept: a /login with your subscription is enough (for plugins, a recent one: a sign-in from an older version doesn't cover them until it renews).

They come from three places: Anthropic's own skills (pdf and xlsx always sync), the ones you created or turned on in claude.ai, and the ones your organization hands out. The download is one way only: edit a copy inside synced/ and the next sync overwrites it.

What they cost

Here's how they show up in /context, in a Claude Code 2.1.325 session carrying the 13 skills one claude.ai account syncs (trimmed):

### Skills

| Skill | Source | Tokens |
|-------|--------|--------|
| ai-infra:claude-code-tip | Plugin (ai-infra) | ~80 |
| dataviz | Built-in | ~480 |
| built-in-browser | claude.ai sync | ~290 |
| computer-use | claude.ai sync | ~320 |
| anthropic-skills:deep-research | claude.ai sync | ~200 |
| docs | claude.ai sync | ~340 |
| docx | claude.ai sync | ~320 |
| google-workspace | claude.ai sync | ~330 |
| pptx | claude.ai sync | ~330 |
| xlsx | claude.ai sync | ~320 |

All 13 are Anthropic's; nobody created them on that account. To measure their weight: the same message in the same folder, sent at the same time with and without the skill sync, twice, reading the input tokens that actually reached the API:

Sync Input tokens per request
On (the default) 37,929 and 38,441
"syncClaudeAiSkills": false 34,779 and 35,288

In this test that's about 3,150 tokens on every request, used or not, because Claude reads each skill's description to be able to pick it. Prompt caching makes the repeats cheaper, but they hold context turn after turn. In /context, read the Skills row, not the total: here the total read 27.5k both ways, because System tools rose by as much as Skills fell.

Plugins go further: a synced plugin loads its skills, agents, hooks and MCP servers with the same trust as one you installed yourself. A hook your organization adds to a plugin runs on your machine.

How to remove them

1. See what arrived

/skills groups them under claude.ai sync, same as /context. For plugins, run claude plugin list in your shell (output trimmed):

Synced from claude.ai:

  ‼ "ai-infra@synced" from claude.ai not loaded — "ai-infra@ai-infra" on this machine has the same name and takes precedence

When a plugin on your account shares a name with one you installed, yours wins and the synced copy doesn't load. Skills work the same way: if another command already owns the short name, the synced skill only answers to its full name, like anthropic-skills:deep-research above.

2. Turn off skills on that machine

In ~/.claude/settings.json:

{
  "syncClaudeAiSkills": false
}

On the next launch Claude Code stops downloading, moves the ones it already has to ~/.claude/skills/.trash/ and stops loading them. Remove the key later and they download again; nothing comes back from the trash. Only false counts: true is the same as leaving the key out.

3. Turn off plugins, all or one

All of them with "syncClaudeAiPlugins": false in the same file. One, keeping the rest:

claude plugin disable name@synced

That saves "name@synced": false under enabledPlugins in your user settings. A plugin your organization marks as required refuses with Plugin "name@synced" is required by your organization and can't be disabled here. Contact your admin to change it.

4. Or only in one project

Put "syncClaudeAiSkills": false in that repository's .claude/settings.local.json. There it blocks and hides them only for sessions in that folder, without sending anything to the trash. It does nothing in the .claude/settings.json you commit: a repository can't turn the sync off for you.

Removing a single skill

What you see How to remove it
A skill you created or turned on in claude.ai Turn it off in your claude.ai skill settings; the next sync removes it
pdf, xlsx and the other Anthropic skills that always sync Only syncClaudeAiSkills: false, which removes all of them
A plugin from your account or your organization claude plugin disable name@synced
A plugin your organization marks as required Not from your machine

Deleting the folder by hand doesn't stick: while it's still on in claude.ai, the next sync downloads it again.

When to keep them

  • You ask Claude for documents in the terminal. docx, xlsx, pptx and pdf are the ones that know how to produce a Word file, a spreadsheet, a deck or a PDF. If you use them, those tokens are working.
  • You write skills in claude.ai and want them identical in the chat, in Cowork and in the terminal.

If neither is you, turn them off and audit the rest with /skill-doctor, which gives you each skill's cost and when you last used it. For the plugins you did install yourself, there's the unused plugins cleanup.

One catch if you write skills in claude.ai: in a terminal session on your machine, a synced skill doesn't run its ! lines or attach the files it names with @. They reach Claude as plain text. In the cloud they work, so the same skill can behave differently in each place.

Official docs: Skills synced from claude.ai · Plugins synced from claude.ai

Requirements

Claude Code v2.1.273 or later, signed in through /login with your claude.ai account. Nothing syncs when you authenticate with an API key, ANTHROPIC_AUTH_TOKEN, CLAUDE_CODE_OAUTH_TOKEN or an apiKeyHelper, on Bedrock, with CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, in --bare or --safe-mode, or with a --setting-sources list that leaves out user.

Found this useful? See more of wmedia.es in your Google results.

Add wmedia.es as a preferred source on Google
Free guide

The 51 essentials, as a guide.

One page per tip. Five chapters. What I actually use daily in production. No theory, no fluff.

  • 1. Getting started 10 tips
  • 2. Awareness 3 tips
  • 3. Mastery 22 tips
  • 4. Autonomy 15 tips
  • 5. Comparison 1 tip
Are you a professional Web developer?

You'll receive the guide by email · You join the Gravitas newsletter · Unsubscribe anytime

of 51
#

Wmedia · 51 tips
Free guide · 51 tips · 5 chapters

The 51 essentials, as a guide.

One page per tip. Five chapters. What I actually use daily in production. No theory, no fluff.

Are you a professional Web developer? · Unsubscribe anytime
How I use AI

My Claude Code workflow.

The skills, agents and instructions I use as a professional Software Engineer. It's called Craft, and it's a plugin you can install.

See the skills

Want the 51 Claude Code essentials as a guide?