Skip to content

PDM does not read [tool.pdm.options] from a custom project root #3745

@francis-clairicia

Description

@francis-clairicia

Describe the bug

PDM reads [tool.pdm.options] from the pyproject.toml in the current working directory instead of the project root specified by -p option or PDM_PROJECT environment variable.

To reproduce

Have a project test with a pyproject.toml with:

[tool.pdm.options]
add = ["--no-sync"]

Launch pdd add --project ./test pytest.

PDM will install pytest even if the --no-sync option is defined.

Expected Behavior

Have [tool.pdm.options] applied when using --project option.

Environment Information

PDM version:
  2.26.6
Python Interpreter:
  /usr/bin/python3.12 (3.12)
Project Root:
  /root/python3-dist/wheel_build/test
Local Packages:
  /root/python3-dist/wheel_build/test/__pypackages__/3.12
{
  "implementation_name": "cpython",
  "implementation_version": "3.12.12",
  "os_name": "posix",
  "platform_machine": "x86_64",
  "platform_release": "4.18.0-553.97.1.el8_10.x86_64",
  "platform_system": "Linux",
  "platform_version": "#1 SMP Mon Jan 26 05:26:16 EST 2026",
  "python_full_version": "3.12.12",
  "platform_python_implementation": "CPython",
  "python_version": "3.12",
  "sys_platform": "linux"
}

Verbose Command Output

No response

Additional Context

No response

Are you willing to submit a PR to fix this bug?

  • Yes, I would like to submit a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐛 bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions