Skip to content

fix: claude plugin install --scope local from a worktree writes the main checkout's settings.local.json #6375

Closed

Description

@kyle-sexton

Problem

Run from a linked git worktree, claude plugin install <id> --scope local (and claude plugin marketplace add --scope local) records the install in the main checkout's .claude/settings.local.json, not the worktree's. A test install meant to stay inside one worktree session therefore enables the plugin for every session in the main checkout, and the stray file outlives the worktree.

Observed

  • Claude Code 2.1.289, WSL2, during Phase 7 install-and-test for PR feat(user-interface): add the user-interface plugin #6318. The user had to delete the stray .claude/settings.local.json in the main checkout by hand.
  • Workaround that worked: run test installs from a throwaway non-git folder (for example under /tmp), never from a worktree.

Fix

  1. Confirm whether this is intended upstream behavior (local scope keyed to the repository's main working tree) and, if not, report it upstream with /harness-ops:known-issues create.
  2. Either way, state the rule where agents run local-scope test installs: plugin install-and-test from a worktree uses a non-git folder. A guardrails check that flags --scope local run inside a linked worktree would remove the need for agents to remember it.

Related

🤖 Generated with Claude Code

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 4, 2026
  2. github-actions commented on Oct 4, 2026

    @github-actions
    Contributor

    Thanks for the report. Automated triage handed this issue to a maintainer.

    Automated triage. A maintainer reviews it.

  3. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 4, 2026
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

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.needs-triageNot yet classified. Floor until a type and one priority tier are set.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions