---
title: "Breaking: #107488 - Scheduler frequency options moved to TCA"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:breaking-107488-1758106735"
source: "Changelog/14.0/Breaking-107488-SchedulerFrequencyOptionsMovedToTCA.rst"
typo3-version: "14.0"
typo3-major: 14
type: "breaking"
issue: 107488
forge: "https://forge.typo3.org/issues/107488"
tags: ["Backend", "TCA", "NotScanned", "ext:scheduler"]
rendered: "2026-09-28T19:48:07+00:00"
---

# Breaking: #107488 - Scheduler frequency options moved to TCA {#breaking-107488-1758106735}

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

## Description {#description}

The global configuration array
`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['frequencyOptions']`,
which was used to define frequency options for scheduler tasks, has been
removed.

Frequency options are now configured directly in the TCA using the
`overrideFieldTca` mechanism on the
`tx_scheduler_task.execution_details` field.

This change improves consistency with TYPO3’s configuration patterns and
provides better extensibility for scheduler task timing options.

## Impact {#impact}

Extensions that previously added custom frequency options through the global
`frequencyOptions` array will no longer see their custom options in the
scheduler task frequency field.

Code that relied on reading the global `frequencyOptions` configuration
will no longer work as expected.

## Affected installations {#affected-installations}

All installations with extensions providing custom scheduler frequency options
through the global configuration array are affected.

## Migration {#migration}

Extensions should migrate their frequency options from the global configuration
to TCA overrides.

**Before (no longer working):**

```php
// EXT:my_extension/ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['frequencyOptions']['0 2 * * *'] =
    'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:daily_2am';
```

**After (recommended approach):**

```php
// EXT:my_extension/Configuration/TCA/Overrides/tx_scheduler_task.php

$GLOBALS['TCA']['tx_scheduler_task']['columns']['execution_details']['config']['overrideFieldTca']['frequency']['config']['valuePicker']['items'][] = [
    'value' => '0 2 * * *',
    'label' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:daily_2am',
];
```

**Migration for multiple options:**

```php
// EXT:my_extension/Configuration/TCA/Overrides/tx_scheduler_task.php

$customFrequencyOptions = [
    [
        'value' => '0 2 * * *',
        'label' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:daily_2am',
    ],
    [
        'value' => '0 */6 * * *',
        'label' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:every_6_hours',
    ],
    [
        'value' => '0 0 1 * *',
        'label' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:monthly_first',
    ],
];

$GLOBALS['TCA']['tx_scheduler_task']['columns']['execution_details']['config']['overrideFieldTca']['frequency']['config']['valuePicker']['items'] = array_merge(
    $GLOBALS['TCA']['tx_scheduler_task']['columns']['execution_details']['config']['overrideFieldTca']['frequency']['config']['valuePicker']['items'] ?? [],
    $customFrequencyOptions
);
```

## Related features {#related-features}

See [Feature: #107488 - Extensible scheduler task timing options](https://docs.typo3.org/permalink/changelog:feature-107488-1758106735) for details about the new extensible
timing options functionality.
