---
title: "Deprecation: #108843 - ExtensionManagementUtility::addFieldsToUserSettings"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-108843-1738600000"
source: "Changelog/14.2/Deprecation-108843-ExtensionManagementUtilityAddFieldsToUserSettings.rst"
typo3-version: "14.2"
typo3-major: 14
type: "deprecation"
issue: 108843
forge: "https://forge.typo3.org/issues/108843"
tags: ["PHP-API", "FullyScanned", "ext:core"]
rendered: "2026-09-23T15:30:34+00:00"
---

# Deprecation: #108843 - ExtensionManagementUtility::addFieldsToUserSettings {#deprecation-108843-1738600000}

See [forge#108843](https://forge.typo3.org/issues/108843)
See [forge#108832](https://forge.typo3.org/issues/108832)

## Description {#description}

The method
`\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToUserSettings()`
has been deprecated in favor of the new `addUserSetting()` method.

The legacy method required two separate steps to add a field to user settings:
first, adding the field configuration to the columns array and second, calling
`addFieldsToUserSettings()` to add it to the showitem list. The new
method combines both steps into a single call and uses TCA as the storage
location.

## Impact {#impact}

Calling the deprecated method will trigger a deprecation-level log entry.
The method will be removed in TYPO3 v15.0.

The extension scanner reports usages as a **strong** match.

## Affected installations {#affected-installations}

Instances or extensions that use
`ExtensionManagementUtility::addFieldsToUserSettings()` or directly
modify `$GLOBALS['TYPO3_USER_SETTINGS']` to add custom fields to the
backend user profile settings.

## Migration {#migration}

Replace the two-step approach with the new `addUserSetting()` method.
Note that the new method uses TCA-style configuration and should be called
from `Configuration/TCA/Overrides/be_users.php` instead of
`ext_tables.php`.

### Before {#before}

```php
// In ext_tables.php
$GLOBALS['TYPO3_USER_SETTINGS']['columns']['myCustomSetting'] = [
    'type' => 'check',
    'label' => 'LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:myCustomSetting',
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToUserSettings(
    'myCustomSetting',
    'after:emailMeAtLogin'
);
```

### After {#after}

```php
// In Configuration/TCA/Overrides/be_users.php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserSetting(
    'myCustomSetting',
    [
        'label' => 'LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:myCustomSetting',
        'config' => [
            'type' => 'check',
            'renderType' => 'checkboxToggle',
        ],
    ],
    'after:emailMeAtLogin'
);
```

#### Field type mapping {#field-type-mapping}

When migrating, use the following type mappings:

| Legacy type | TCA config |
| --- | --- |
| text | `['type' => 'input']` |
| email | `['type' => 'email']` |
| number | `['type' => 'number']` |
| password | `['type' => 'password']` |
| check | `['type' => 'check', 'renderType' => 'checkboxToggle']` |
| select | `['type' => 'select', 'renderType' => 'selectSingle']` |
| language | `['type' => 'language']` |
