Skip to content

Claude does not return DirectoryCustomization for empty target directories #334938

Description

Problem

The Claude Agent Host harness does not offer migration hints or Migrate... entries for prompt/customization files that are otherwise migratable.
Also, the 'New Skill' commands in the chat customization dialog don't offer any locations

Reproduction

  1. Open a workspace containing workspace- and user-scoped prompt customizations in legacy/configured locations.
  2. Enable chat.customizations.migrationHint and the customization migration settings.
  3. Create a Claude-backed chat, send Hello, and open Customizations.

Actual: No migration hint appears and the Customizations overview has no Migrate... entries.

Expected: Claude should report the available workspace and user customization migrations in the hint, and the overview should expose matching Migrate... entries.

Root cause

CustomizationMigrationService.createFileMigration filters every candidate by a compatible source folder returned from the active harness. AgentCustomizationItemProvider.provideSourceFolders only returns writable DirectoryCustomization records in the active session.

Claude creates .claude/agents, .claude/skills, .claude/rules, and .claude/hooks DirectoryCustomization records only when discovery already found a customization of that type in the respective workspace/user bucket. Consequently, an empty but valid target directory (particularly user-scoped directories) is not advertised, so the migration service filters out legacy candidates.

Copilot discovery exposes configured writable roots independently of their current contents, allowing it to supply the migration destinations.

Recommendation

Have Claude discovery publish writable DirectoryCustomization target folders for every supported scope/type, even when a folder has no discovered children. These entries are used by provideSourceFolders as migration destinations; the customization UI renders children rather than the empty directory containers, so this should not surface phantom customization items.

This allows the migration service to retain the workspace/user candidates, making the chat hint and management overview agree.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions