PyCharm Plugin API Breaking Change: DirectoryProjectGenerator No Longer Working in 2025.2

I’m a plugin developer who has been maintaining a PyCharm plugin that adds custom project creation functionality. After upgrading from PyCharm 2024.x to 2025.2, my plugin’s project creation action is no longer visible in the New Project dialog, even though the plugin loads without errors.

Environment Details

  • PyCharm Version: 2025.2 (252.x)

  • Previous Working Version: 2024.x

  • Plugin Type: Custom project generator

  • Target Platform: Both PyCharm Community and Professional

Technical Background

What Previously Worked

In PyCharm 2024.x, I implemented a custom project generator by:

  1. Implementing DirectoryProjectGenerator interface:
class MyCustomProjectGenerator : DirectoryProjectGenerator<MySettings> {
    // Custom project creation logic
    override fun generateProject(project: Project, baseDir: VirtualFile, settings: MySettings, module: Module) {
        // Implementation
    }
}

  1. Registering via plugin.xml:
<extensions defaultExtensionNs="com.intellij">
    <directoryProjectGenerator implementation="com.example.MyCustomProjectGenerator"/>
</extensions>

This approach worked perfectly and the custom project type appeared in PyCharm’s New Project dialog.

What’s Broken in 2025.2

After analyzing PyCharm 2025.2 source code, I discovered that the project creation mechanism has been refactored. In PyV3NewProjectStepAction.getActions(), there’s now a filtering logic:

// Show non-python actions as a collapsed group
val actions = super.getActions(generators, callback)
val pythonActions = actions.filter {
    it is PyV3ProjectSpecificStep ||
    it is PromoStep && it.generator.isPython
}

This filter only allows:

  • Actions implementing PyV3ProjectSpecificStep

  • PromoStep actions where generator.isPython is true

Investigation Results

  1. DirectoryProjectGenerator still exists but seems to be filtered out by the new logic

  2. PyV3ProjectSpecificStep appears to be the new expected interface, but it’s marked as internal and not accessible for plugin development

  3. No migration documentation found in official PyCharm 2025.2 release notes or plugin development documentation

  4. API changes documentation doesn’t mention this breaking change

What I’ve Tried

  1. :white_check_mark: Verified plugin loading: Plugin loads successfully, no errors in IDE logs

  2. :white_check_mark: Checked DirectoryProjectGenerator registration: Still registered correctly

  3. :white_check_mark: Reviewed 2025.2 API changes: No mention of this change in official documentation

  4. :cross_mark: Attempted to implement PyV3ProjectSpecificStep: Class is marked as internal and not accessible

  5. :cross_mark: Tried PromoStep approach: Unable to find proper documentation or examples

Questions for JetBrains Team

  1. Is this an intentional breaking change? Should plugins no longer use DirectoryProjectGenerator?

  2. What’s the official migration path? How should plugin developers adapt their project generators for 2025.2?

  3. Will PyV3ProjectSpecificStep be made public? Or is there an alternative public API we should use?

  4. Documentation availability: When will the official migration guide be available?

  5. Backward compatibility: Will there be a compatibility layer for existing DirectoryProjectGenerator implementations?

Impact

This change affects not just my plugin but potentially all PyCharm plugins that provide custom project creation functionality. Many plugin developers might face this same issue when users upgrade to 2025.2.

Requested Assistance

I would greatly appreciate:

  1. Official guidance on how to migrate DirectoryProjectGenerator implementations to work with 2025.2

  2. Code examples or documentation showing the proper way to implement custom project creation in 2025.2

  3. Timeline information for when official documentation will be available

  4. Temporary workarounds if available while waiting for official solutions

Additional Context

This appears to be a significant architectural change in PyCharm’s project creation system, but the lack of migration documentation makes it difficult for plugin developers to adapt. Any guidance from the JetBrains team would be extremely helpful for the plugin development community.

Thank you for your time and assistance!

Thank you for the thorough investigation. This is definitely not intended, let us look into that!

I really appreciate your help on this.
As this issue is affecting my development progress, it would be great if you could provide an update or timeline when possible.

As far as I can see, the update 2025.2.1 should fix the situation