Skip to content

[FEATURE] Settings.json parent directory traversal for monorepos #12962

Description

@skorfmann

Problem

When working in a monorepo subdirectory (e.g., /repo/packages/app/), Claude Code only looks for .claude/settings.json in the current working directory. It does not traverse parent directories to find shared settings at the repo root.

This means you either need to:

  • Duplicate settings in every subdirectory
  • Always launch Claude Code from the repo root
  • Use global user settings (~/.claude/settings.json) which apply to all projects

Proposed Solution

Claude Code should traverse parent directories (up to the git root or filesystem root) looking for .claude/settings.json files, similar to how many tools handle config files (e.g., .gitignore, tsconfig.json, .eslintrc).

Settings could be merged with deeper directories taking precedence, or the first found settings file could be used.

Use Case

In a monorepo with multiple packages/services, you want shared settings (allowed tools, MCP servers, permissions) defined once at the repo root, while still being able to work from within subdirectories.

Related Issues

This issue focuses specifically on settings.json lookup behavior, complementing the related requests for MCP, commands, and CLAUDE.md parent directory support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions