JetBrains/intellij-community · error · ConfigurationException

project.configurable.dialog.message

project.configurable.dialog.message

Error message

Project name is required

What it means

Thrown from ProjectConfigurable.apply() (Settings > Project) when the project name field is empty or whitespace-only. The IDE requires a non-empty project name because it feeds compiler output naming, .idea metadata, and UI titles. It surfaces as a ConfigurationException, which the Settings framework turns into a red error on the dialog without closing it.

Source

Thrown at java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ProjectConfigurable.java:123

      final String compilerOutput = getOriginalCompilerOutputUrl();
      myUi.reset(compilerOutput);
    }
    finally {
      myFreeze = false;
    }

    myContext.getDaemonAnalyzer().queueUpdate(mySettingsElement);
  }


  @Override
  public void apply() throws ConfigurationException {
    final CompilerProjectExtension compilerProjectExtension = CompilerProjectExtension.getInstance(myProject);
    assert compilerProjectExtension != null : myProject;

    final String myProjectName = myUi.getProjectName();
    if (StringUtil.isEmptyOrSpaces(myProjectName)) {
      throw new ConfigurationException(JavaUiBundle.message("project.configurable.dialog.message"));
    }

    ApplicationManager.getApplication().runWriteAction(() -> {
      // set the output path first so that handlers of RootsChanged event sent after JDK is set
      // would see the updated path
      String canonicalPath = myUi.getProjectCompilerOutput();
      if (!canonicalPath.isEmpty()) {
        try {
          canonicalPath = FileUtil.resolveShortWindowsName(canonicalPath);
        }
        catch (IOException e) {
          //file doesn't exist yet
        }
        canonicalPath = FileUtil.toSystemIndependentName(canonicalPath);
        compilerProjectExtension.setCompilerOutputUrl(VfsUtilCore.pathToUrl(canonicalPath));
      }
      else {
        compilerProjectExtension.setCompilerOutputUrl(null);

View on GitHub (pinned to be881553f2)

Solutions

  1. Re-enter a non-empty project name in Settings > Project and apply again
  2. If the name appears filled but still fails, restart the IDE or re-open the Settings dialog to re-sync UI state
  3. Check .idea/misc.xml or the project file for corruption if the name repeatedly resets to empty
Defensive patterns

Strategy: validation

Validate before calling

String name = ui.getProjectName();
if (name == null || name.isBlank()) {
  // block apply and prompt user for a project name
}

Try / catch

try { configurable.apply(); } catch (ConfigurationException e) { /* 'Project name is required': focus name field */ }

Prevention

When it happens

Trigger: Opening Settings > Project, clearing the Name field, and pressing OK/Apply. Also programmatically calling ProjectConfigurable.apply() when the underlying UI component's getProjectName() returns an empty string.

Common situations: Accidentally deleting the project name while editing compiler output settings on the same page; UI state not fully initialized when apply() runs; templates or scripts that rename projects leaving the field blank.

Related errors


AI-assisted analysis of JetBrains/intellij-community@be881553f2 (2026-08-14). Data as JSON: /api/errors/aff96d2765337030. Report an issue: GitHub.