Hi @jinaiyuanbaojie! I’m Dosu and I’m helping the Tuist team.
This matches a bug that already has an open PR to fix it: #12248 — fix(cli): resolve SPM package traits for registry dependencies [1].
Root cause: When a package is resolved through the registry (via --replace-scm-with-registry), it gets a scoped identity like pointfreeco.swift-dependencies instead of the plain name swift-dependencies used in SCM resolution. The enabledTraits lookup in SwiftPackageManagerGraphLoader was keyed by the raw identity, so it never matched registry packages — causing SWIFT_ACTIVE_COMPILATION_CONDITIONS (which carries the trait flags like Clocks, CombineSchedulers, etc.) to be silently dropped from the generated project [1].
The fix normalizes identities to a canonical form (scope-stripped, lowercased) before correlating traits. The PR was opened on August 9 and is currently under review [1].
Workaround until the fix lands: Fall back to SCM resolution by removing --replace-scm-with-registry from your installOptions in Tuist.swift. The traits will resolve correctly via the git URL path, as you’ve already confirmed.
You could also try installing the debug-generated-project skill following the steps in this repo and using a coding agent to apply the patch from PR #12248 locally while you wait for it to be merged.
To reply, just mention @dosu.
Docs are dead. Just use Dosu.