---
title: "Feature: #107871 - Autoconfigure backend avatar providers"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-107871-1761597106"
source: "Changelog/14.0/Feature-107871-AutoconfigureBackendAvatarProviders.rst"
typo3-version: "14.0"
typo3-major: 14
type: "feature"
issue: 107871
forge: "https://forge.typo3.org/issues/107871"
tags: ["Backend", "PHP-API", "ext:backend"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Feature: #107871 - Autoconfigure backend avatar providers {#feature-107871-1761597106}

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

## Description {#description}

Backend avatar providers must either use the PHP attribute
`#[AsAvatarProvider]` or be manually tagged in the service container with
`backend.avatar_provider`.

When autoconfiguration is enabled in `Services.yaml` or
`Services.php`, applying `#[AsAvatarProvider]` will automatically add
the `backend.avatar_provider` tag. Otherwise, the tag must be configured
manually.

### Example {#example}

**EXT:my_extension/Classes/Backend/Avatar/MyAvatarProvider.php**

```php
use TYPO3\CMS\Backend\Attribute\AsAvatarProvider;
use TYPO3\CMS\Backend\Backend\Avatar\AvatarProviderInterface;

#[AsAvatarProvider(
    'my_provider',
    before: ['provider-1'],
    after: ['provider-2']
)]
final class MyAvatarProvider implements AvatarProviderInterface
{
    // ...
}
```

## Impact {#impact}

Backend avatar providers are now automatically registered using the PHP
attribute `#[AsAvatarProvider]`. This improves the developer experience and
reduces configuration overhead. The previous registration method via
`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']` can
no longer be used.

To support multiple TYPO3 Core versions simultaneously, extensions may still
implement the legacy array-based registration alongside the new
autoconfiguration-based approach.
