Project-level plansDirectory setting not respected
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
- Create a project-level settings file:
``bash``
mkdir -p .claude/plans
echo '{"plansDirectory": "./.claude/plans"}' > .claude/settings.json
- Enter plan mode (e.g.,
EnterPlanModetool or ask Claude to plan something)
- Observe that the system message indicates the plan will be created at
~/.claude/plans/<name>.mdinstead 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.
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗