Project-level plansDirectory setting not respected

Resolved 💬 9 comments Opened Jan 16, 2026 by artemysone Closed Mar 28, 2026

Description

The plansDirectory setting in a project-level .claude/settings.json file is not being read. Plans are created in the default global location (~/.claude/plans/) instead of the configured project directory.

Expected Behavior

When .claude/settings.json exists in a project with:

{
  "plansDirectory": "./.claude/plans"
}

Plan files should be created in <project>/.claude/plans/.

Actual Behavior

Plan files are still created in ~/.claude/plans/ regardless of the project-level setting.

Reproduction Steps

  1. Create a project-level settings file:

``bash
mkdir -p .claude/plans
echo '{"plansDirectory": "./.claude/plans"}' > .claude/settings.json
``

  1. Enter plan mode (e.g., EnterPlanMode tool or ask Claude to plan something)
  1. Observe that the system message indicates the plan will be created at ~/.claude/plans/<name>.md instead of ./.claude/plans/<name>.md

Workaround

Adding the setting to the global ~/.claude/settings.json with an absolute path works:

{
  "plansDirectory": "/absolute/path/to/project/.claude/plans"
}

This confirms the setting itself works, but only when in the global config.

Environment

  • Claude Code CLI (latest as of Jan 2025)
  • macOS Darwin 25.2.0

Notes

Project-level settings should take precedence over global settings for plansDirectory, allowing different projects to store plans in their own directories.

View original on GitHub ↗

This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗