---
title: "TCAdefaults"
manual: "TypoScript Explained"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3tsref:usertstcadefaults@13.4"
source: "UserTsconfig/TcaDefaults.rst"
rendered: "2026-09-19T07:15:48+00:00"
---

# TCAdefaults {#usertstcadefaults}

This allows to set or override the `default` values of `TCA` fields that is available
for various TCA types, for instance for [type=input](https://docs.typo3.org/m/typo3/reference-tca/13.4/en-us/ColumnsConfig/Type/Input/Index.html#columns-input-properties-default).

The full path of a setting include the table and the field name: `TCAdefaults.[table name].[field]`

This key is also available on [Page TSconfig level](https://docs.typo3.org/permalink/t3tsref:pagetstcadefaults@13.4), the order of default
values when creating new records in the backend is this:

1.  Value from `$GLOBALS['TCA']`
1.  Value from User TSconfig (these settings)
1.  Value from [Page TSconfig](https://docs.typo3.org/permalink/t3tsref:pagetstcadefaults@13.4)
1.  Value from "defVals" GET variables
1.  Value from previous record based on 'useColumnsForDefaultValues'

However the order for default values used by `\TYPO3\CMS\Core\DataHandling\DataHandler` if a certain
field is not granted access to for user will be:

1.  Value from `$GLOBALS['TCA']`
1.  Value from User TSconfig (these settings)

So these values will be authoritative if the user has no access to the field anyway.

Example:

**EXT:site_package/Configuration/user.tsconfig**

```typoscript
# Show newly created pages by default
TCAdefaults.pages.hidden = 0
```

> [!WARNING]
> **Attention**
>
> This example will not work when creating the page from the context menu
> since this is triggered by the values listed in the `ctrl` section of
> `typo3/sysext/core/Configuration/TCA/pages.php`:
>
> **typo3/sysext/core/Configuration/TCA/pages.php**
>
> ```php
> 'ctrl' => [
>   'useColumnsForDefaultValues' => 'doktype,fe_group,hidden',
>   ...
> ]
> ```

If 'hidden' is in the list, it gets overridden with the "neighbor" record value (see
`\TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowInitializeNew::setDefaultsFromNeighborRow`)
and as the value is set - usually to '0' - it will not be overridden
again. To make it work as expected, that value must be overridden. This
can be done for example in the `Configuration/TCA/Overrides` folder
of an extension:

**EXT:site_package/Configuration/TCA/Overrides/pages.php**

```php
$GLOBALS['TCA']['pages']['ctrl']['useColumnsForDefaultValues'] = 'doktype,fe_group';
```
