# Bug OP-20448 - Fresh 17.9 installations create projects without any enabled work package type

Project: OpenProject
Status: closed
URL: https://community.openproject.org/work_packages/OP-20448

## Open points

_No work packages_

## Details

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Module | Administration / Roles and permissions |
| Target versions | 17.9.2 |
| Observed in versions | 17.9.0 |
| Sprint |  |
| Backlog bucket |  |
| Bug found in version (deprecated) |  |
| Found in mobile app version |  |
| Follow-up feedback e-mail |  |
| Requires doc change | No |
| Accessibility | No |
| Pull preview |  |
| List |  |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers | Klaus Zanders |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Planning

| Attribute | Value |
| --- | --- |
| Relevance |  |

## Costs

| Attribute | Value |
| --- | --- |
| Votes |  |
| Work |  |
| Labor costs |  |

## Description

### Steps to reproduce

1. Start a fresh OpenProject 17.9.1 instance (empty database, default seed data) and log in as the seeded admin.
2. Create a project (Projects, "+ Project", or `POST /api/v3/projects` with `name` and `identifier`).
3. Open the work package list of the new project and click "+ Create", or call `GET /api/v3/projects/{id}/types`.

### What is the buggy behavior?

- The new project has no work package type: `GET /api/v3/projects/{id}/types` returns `"count": 0` with an empty `_embedded.elements`, and "+ Create" offers no type.
- No work package can be created in the project until an administrator enables a type in the project settings (Work package types) or marks a type as enabled in new projects under Administration, Work packages, Types.
- Right after installation, Administration, Work packages, Types shows no type as enabled in new projects.

Root cause (from the source): https://github.com/opf/openproject/pull/24660 moved the "default for new projects" flag from `Type#is_default` to `TypeVariant#enabled_in_new_projects`, and `Projects::SetAttributesService#default_project_types` reads `TypeVariant.enabled_in_new_projects`. In that pull request, commit https://github.com/opf/openproject/commit/917b110ec956b4f539c11b34524a2371212a39b7 removed `is_default: true` from the three types in `app/seeders/standard.yml`, and commit https://github.com/opf/openproject/commit/6b101bb908c1d84ba53c92d888c57282d4617a55 removed the attribute from `BasicData::TypeSeeder`, but nothing seeds `enabled_in_new_projects` instead. `modules/bim/app/seeders/bim.yml` still carries `is_default: true`, which the seeder no longer reads. On a fresh database no variant is enabled in new projects. Upgraded installations keep their values through the migration `20260807100000_create_type_variants.rb`, so only new installations are affected.

### What is the expected behavior?

As on 17.8.1, a new project starts with Task, Milestone and Summary task (in the BIM edition with all seven seeded types), and work packages can be created without extra administration steps.

Workaround for operators: enable "Enabled in new projects" for Task, Milestone and Summary task under Administration, Work packages, Types, or run in `rails runner`:

```ruby
Type.where(name: ["Task", "Milestone", "Summary task"]).each { |t| t.default_variant.update!(enabled_in_new_projects: true) }
```

### Logs

No errors in the browser console or in `production.log`. The project is created successfully, only without types.

### Screenshots and other files

None. The REST API reproduction above shows the behavior independently of the browser.

### Environment information

**OpenProject installation type**

* Docker All-in-one container (official `openproject/openproject` image `17.9.1`, fresh database)

**OpenProject version**

17.9.0 and 17.9.1 (fresh installations only). 17.8.1 is not affected. Still present on `dev` (2026-10-12).

**Browser**

Not browser specific; also reproduced via the REST API.

**Operating System**

Not applicable, server-side.

**Language**

English
