Skip to content

Deeply-nested sample paths break git clone / plugin install on Windows (Filename too long) #337

Description

@FishOfPrey

Summary

Adding this repo as a Claude Code plugin marketplace via /plugin marketplace add forcedotcom/sf-skills fails on Windows 11 during the working-tree checkout. Git successfully downloads all objects, but the checkout aborts
because several files in the samples/webapp-template-app-react-sample-* directories
have paths that exceed the Windows 260-character MAX_PATH limit.

The result is a partial clone: the marketplace never finishes registering, so subsequent
plugin installs using /plugin install salesforce-development@salesforce fail with Marketplace "salesforce" not found.

Environment

  • OS: Windows 11 Enterprise (10.0.26100)
  • Claude Code 2.1.224
  • Client: Claude Code /plugin marketplace add forcedotcom/sf-skills
  • Clone target: C:\Users\<user>\.claude\plugins\marketplaces\forcedotcom-sf-skills\

Steps to reproduce

  1. On Windows (without core.longpaths enabled), run /plugin marketplace add forcedotcom/sf-skills
    (or a plain git clone of the repo into the deep .claude\plugins\marketplaces\... path).
  2. Observe the checkout fail.

Actual behavior

error: unable to create file samples/webapp-template-app-react-sample-b2e-experimental/force-app/main/default/webapplications/propertymanagementap
p/src/api/maintenanceRequests/query/distinctMaintenanceRequestPriority.graphql: Filename too long
error: unable to create file samples/webapp-template-app-react-sample-b2e-experimental/force-app/main/default/webapplications/propertymanagementap
p/src/features/object-search/examples/api/query/distinctAccountIndustries.graphql: Filename too long
error: unable to create file samples/webapp-template-app-react-sample-b2x-experimental/force-app/main/default/webapplications/propertyrentalapp/sr
c/features/object-search/examples/api/query/getAccountDetail.graphql: Filename too long
...
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.

The offending files all live under:

  • samples/webapp-template-app-react-sample-b2e-experimental/...
  • samples/webapp-template-app-react-sample-b2x-experimental/...

with nesting like force-app/main/default/webapplications/<app>/src/features/object-search/__examples__/api/query/<longName>.graphql.

Because the checkout aborts partway, the plugin marketplace is left incomplete and
/plugin install <plugin>@salesforce then reports Marketplace not found.

Expected behavior

The repo can be cloned / installed as a plugin marketplace on a default Windows
configuration without requiring users to enable long-path support.

Impact

Windows users cannot install the skills via the plugin marketplace out of the box. The
files that break the checkout are sample apps, not the skills themselves, so the core
value of the repo is blocked by ancillary content.

Suggested fixes (any one would help)

  1. Shorten the deep sample paths under samples/webapp-template-app-react-sample-*
    (the __examples__/api/query/*.graphql nesting is the main offender).
  2. Move the large sample apps out of the plugin-distributed tree (e.g. a separate repo,
    a release artifact, or a submodule) so a marketplace clone doesn't need to check them out.
  3. Document a Windows prerequisite in the README as a stopgap — enabling
    git config --global core.longpaths true (and the Windows LongPathsEnabled registry flag)
    before installing.

Expected behavior

The repo can be cloned / installed as a plugin marketplace on a default Windows
configuration without requiring users to enable long-path support.

Impact

Windows users cannot install the skills via the plugin marketplace out of the box. The
files that break the checkout are sample apps, not the skills themselves, so the core
value of the repo is blocked by ancillary content.

Suggested fixes (any one would help)

  1. Shorten the deep sample paths under samples/webapp-template-app-react-sample-*
    (the __examples__/api/query/*.graphql nesting is the main offender).
  2. Move the large sample apps out of the plugin-distributed tree (e.g. a separate repo,
    a release artifact, or a submodule) so a marketplace clone doesn't need to check them out.
  3. Document a Windows prerequisite in the README as a stopgap — enabling
    git config --global core.longpaths true (and the Windows LongPathsEnabled registry flag)
    before installing.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions