[FEATURE] Sync Skills between Claude Desktop and Claude Code CLI

Open 💬 38 comments Opened Jan 25, 2026 by meCodeUp

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Problem
Skills added in the Claude Desktop app (under Settings → Features → Skills) are stored in a different location than skills for Claude Code CLI (~/.claude/skills/).

This means:

Skills created in Desktop are not available in CLI
Skills created in CLI are not available in Desktop
Users have to add the same skill twice
Expected Behavior
Skills should be stored in a shared location (~/.claude/skills/) so they work in both:

Claude Desktop (with integrated Claude Code)
Claude Code CLI
Current Workaround
Manually copy skills to both locations.

Why This Matters
Claude Desktop now includes Claude Code functionality. Having a unified skill storage would provide a seamless experience across both interfaces.

Proposed Solution

Proposed Solution
Ideal User Experience:

Single storage location for all skills: ~/.claude/skills/

Both Claude Desktop and Claude Code CLI read from this location
Skills created in either interface are immediately available in both
Desktop UI syncs to filesystem

When adding a skill in Desktop Settings → Features → Skills, it creates/updates the corresponding file in ~/.claude/skills/
When editing a skill file manually, Desktop picks up the changes
Seamless workflow:

User adds skill in Desktop UI

File created: ~/.claude/skills/my-skill/SKILL.md

Skill available in CLI via /my-skill

And vice versa:

User creates ~/.claude/skills/project-init/SKILL.md

Skill appears in Desktop Settings

Skill available in Desktop via /project-init

Optional: A "Refresh Skills" button in Desktop to manually sync if needed

This would make skills truly portable and shareable, matching how other Claude Code settings (like ~/.claude/settings.json) already work across interfaces.

Alternative Solutions

_No response_

Priority

Critical - Blocking my work

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

38 Comments

LeMatosDeFuk · 4 months ago

+1

TheCreativePolymath · 4 months ago

+1

toroleapinc · 4 months ago

Skill portability across Claude surfaces is a top priority for a lot of people. Having to recreate skills separately in Desktop and CLI is a real workflow killer.

claude-brain solves the cross-machine part for CLI skills — keeping your skills directory synced via git hooks. But the Desktop ↔ CLI bridge really needs native support. Would be great to see a unified skill store that works everywhere.

mandar-karhade · 4 months ago

+1
A simple cloud backup of all skills and pulldown of the skills when needed is an absolutely necessary. There is otherwise no tracking of what version is available on which device (if at all available)

marr00n · 4 months ago

I put my support behind this too!

but, it would need to sync Web, Desktop, and CLI. So ~/.claude/skills/ isn't the best place for it.

jgshier · 4 months ago

Was just looking at how I can do this, glad I found this. +1

ryanlunka · 4 months ago

This is definitely a huge +1. I switch between coding tasks (~30% of work) and business/workflow tasks, the latter of which I tend to use the desktop app for. I don't want to keep in sync manually skills that apply in both cases.

kevnk · 3 months ago

We had a similar discussion forever ago with MCPs - but the thing was that not everyone wanted the same list of MCPs on one service/app as they did in another. You're going to use different services for different purposes and different tools (eg. MCPs) for each one.

But, skills is a little different. But there are some skills that work in claude code that won't work in Claude desktop (eg. ones that make api requests to blocked URLs or ones that can't run CLI commands in Claude desktop's sandbox)

Claude Desktop > Code tab, I believe already pulls from ~/.claude/skills/ so that's not the issue we're talking about.

For now, manually copying/downloading the skills you want from ~/.claude/skills or Claude Desktop > Cowork tab > Customize and pasting/uploading them into the other doesn't take that long really...

oluizcarvalho · 3 months ago

+1

keremgurel · 3 months ago

+1

tkorba1 · 3 months ago

+1

theslyprofessor · 3 months ago

This is purportedly a tool to do this: https://github.com/kcchien/skills-cli

devopsjourney1 · 3 months ago

+1

anhnt094 · 3 months ago

+1

huubao123 · 3 months ago

+1

TrudosKudos · 3 months ago

+1
I Added a comment to an similar issue about why the skills/connectors/plugins settings in the "customize" window of the desktop app needs to be exposed and available to interact with programatically.

#Feature Request: API for syncing skills between Claude Code and Claude Chat/Projects #47968

My comment Text:

### Overview The lack of centralized, programmatically accessible skill management creates real friction for power users who work across multiple Claude surfaces (Claude Code, Claude API, Cowork, Claude.AI). Right now, there's no clean way to maintain a single source of truth for your skills/commands, which forces awkward workarounds that break down quickly. ### Current Pain Points Managing skills across Claude surfaces is a significant bottleneck for power users. Here's a breakdown of the core issues: - No scalable GUI management Any time I want to update a skill, I have to manually open the Desktop GUI, replace files, and propagate those changes elsewhere by hand. There's no sync, no automation hook, and no API surface. For users who treat skills as versioned configuration, this is a real bottleneck. - Duplicate skills / precedence problem I've had to resort to maintaining an external skills and configuration GitHub repo, running hooks on session start to install it. The problem is that if a skill exists both in the Desktop app and in my repo, the Desktop app version always wins — silently overwriting the repo version I'm actively trying to use. There's no way to control precedence or opt out of this behavior. To use these skills in claude.ai, I have to manually update them to ensure the latest versions are present in the Desktop app. - External repo-sync workaround breaks /commands in Claude Code In Claude Code, there's no way to reference skills defined in the Desktop app as slash commands, and this problem is compounded for users relying on the external repo-sync workaround. The core issue is that slash command registration for a Code session happens before any hooks run. This means that even if I use a pre-session hook to install/mount my skills repository, it's already too late — the session has already loaded its slash commands from either the Desktop GUI or the cloud customization registry. By the time my pre-hook executes and mounts my skills repo, the window for registering those commands has closed, effectively locking users who rely on this workaround out of a core feature. ### Proposed Solution The immediate priority should be exposing Claude's skills and the entire Customize menu/window programmatically via API. This single change would unlock a cascade of improvements: - Users could make edits, additions, and deletions to their skills programmatically - Automation pipelines (e.g., GitHub Actions) could keep a central Claude skills repository in sync and accessible across all surfaces - The slash commands issue would be resolved — no more race conditions with hook timing, because skills would be registered through a proper API rather than filesystem mounting - Users would no longer need to maintain or mount external skills repositories as a workaround A longer-term option worth exploring would be native GitHub repository sync — similar to how external skill repos work today, but built directly into Claude's connection layer. The application would read against a linked remote repository and allow users to kick off syncs on demand or on a schedule. That said, this feels like a phase two feature. The immediate, high-value win is simply API exposure of the skills/connectors/plugins customization layer. Once that exists, it becomes accessible to automation workflows, keeps skills up to date without manual intervention, and — critically for enterprise customers — allows organizations to programmatically push skill updates, connectors, and eventually plugin configurations across their entire org. That's a substantial unlock for teams trying to standardize Claude behavior at scale. This seems like a natural extension of the existing customization options, and the payoff for power users and enterprise customers would be substantial.
TrudosKudos · 3 months ago

Related Issues - For Visibility:

All open as of 2026-04-11:

  • anthropics/claude-code#31597
  • anthropics/claude-code#37487
  • anthropics/claude-code#20697
  • anthropics/claude-code#36693
  • anthropics/claude-code#26254
  • anthropics/claude-code#26310
  • anthropics/claude-code#40774
  • anthropics/claude-code#47968

(Figured I'd pull from this recent mention so that we can have this listed in thread for tracking. Thank you Kevin Deldycke)

champixn · 2 months ago

+1

sfratamico2001 · 2 months ago

+1

pr1ntr · 2 months ago

+1

MarcusElwin · 2 months ago

+1 or claude API to claude desktop app or cowork. We have a repo of internal skills that we have to upload as zip files for each change which is not optimal.

crux311 · 2 months ago

Skills are one dimension of a broader gap — connectors, memory, files, and chat history all suffer the same surface-silo problem. Filed an umbrella issue at #55842 proposing a unified user state across Cowork and chat. Skills sync is load-bearing for that.

orangepropeller · 2 months ago

+1

nicole-mcg · 2 months ago

+1

matthewschlue-wf · 1 month ago

+1

petrkrejcik · 1 month ago

+1

hidr0 · 1 month ago

+1

giraudojp · 1 month ago

+1

andreafumanti · 1 month ago

+1

yjkz · 1 month ago

+1

TrudosKudos · 1 month ago

Anthropic please, for the love of god, just implement this already! The amount of threads I see begging for this feature on social media/discord/forums without any acknowledgement from your team is ridiculous. Everyday there are new issues opened related to being able to even just programmatically access skills/plugins, let alone asking for some sort of native sync.

You don't even have to give us a native sync feature with ui/ux. Just allow us to access stored skills/sync through the api or various configuration surfaces. Thousands of creative solutions have been offered to remedy this and nothing has been accepted or listened to. The corpses of these many issues filed now pile at your feat, a monument to corporate obstinance. The collective hours wasted engineering/maintaining workarounds to this problem are a catastrophic failure of product management and engineering management.

Just pick ONE option from the many or at least offer some explanation on why this is not something being prioritized.

VictorDuranEM · 1 month ago

+1

korryu3 · 29 days ago

+1

TheDavidJohnson · 26 days ago

Without a solution like the one proposed here, not only does the user have to add the same skill twice, but extra work is is required to maintain them.

This can lead to clumsy workarounds like:

  • having to remember to manually keep a given skill updated in two places or risk skill drift between Claude Cowork and Claude Code. This is especially problematic when collaboratively building shared skills within a team across diverse surfaces and workflows.
  • skipping the more "global" skill installation step and then having to remember to install relevant skills in each project that needs them. Forgetting something in a given project can lead to flawed outputs, wasted effort and time, rework, and lots of frustration with the products.

Yes. I can build automation to help with these items. But often this defeats the purpose of having skills in the first place!

sazonovsmn · 18 days ago

It would be great to have full two-way synchronization of both skills in the cloud and skills in the local directory (~/.claude/skills/), and for all types of systems: Claude Chat, Claude CoWork, Claude code.

allefeld · 12 days ago
We had a similar discussion forever ago with MCPs - but the thing was that not everyone wanted the same list of MCPs on one service/app as they did in another.

Sure. This only means the config needs a way to specify which tools are exposed to the skill / MCP.

Even better, since Claude is great but not the whole world: A tool-agnostic location for both MCP config and skills. E.g. on Linux ~/.config/agents/skills etc.

pmdci · 7 days ago

Agreed. And if Antropic feels we still need a set of desktop-only skills, then we could have a different location for those non-shared skills.

zachmayer · 6 days ago

I would also really like to have this!