TYPO3 Console 

Package

helhum/typo3-console

Version

main

Language

en

Author

Helmut Hummel & Contributors

License

This document is published under the Open Content License.

Rendered

Fri, 12 Dec 2025 12:01:33 +0000


TYPO3 Console ships many commands to execute TYPO3 actions, which otherwise would only be accessible via the TYPO3 backend. This makes TYPO3 Console a perfect companion for development, deployment, Docker setups, continuous integration workflows or anything else where automation is required or beneficial.


Table of Contents:

Introduction 

What does it do? 

The goal of this extension is to improve the command line usage with TYPO3 CMS. Every command that is shipped provides helpful information about usage and aims to be easy to understand and use.

TYPO3 Console provides some commands, that currently aren't available in TYPO3:

# Interactively set up a new TYPO3 instance from command line (instead of
# using the install tool) typo3 install:setup

# Non interactive automatic setup of a new TYPO3 instance
typo3 install:setup --no-interaction \
   --database-user-name="root" \
   --database-host-name="localhost" \
   --database-port="3306" \
   --database-name="travis_test" \
   --admin-user-name="admin" \
   --admin-password="password" \
   --site-name="Travis Install"

# Perform safe database schema updates
typo3 database:updateschema "*.add,*.change"
Copied!

A help system is integrated, so that you can easily list all available commands or get help for individual commands:

# List all commands with a short description
typo3 help

# Show detailed help for an individual command
typo3 help database:updateschema
Copied!

Administrator's Manual 

Describes how to manage the extension from an administrator’s point of view. That relates to Page/User TSconfig, permissions, configuration etc., which administrator level users have access to.

Language should be non/semi-technical, explaining, using small examples.

Target group: Administrators, Developers

Installation 

There are two ways to properly install the extension. Using git to clone the the repository is deprecated and most likely will not work any more in the near future.

1. Composer installation 

In case you use Composer to manage dependencies of your TYPO3 project, you can just issue the following Composer command in your project root directory:

composer require helhum/typo3-console
Copied!

In case you are unsure how to create a Composer based TYPO3 project, you can check out this TYPO3 distribution, which already provides TYPO3 Console integration.

2. Non Composer installation 

For the extension to work, it must be installed in the directory not in any other possible extension location. This is the default location when downloading it from TER with the Extension Manager.

In order for it to work properly in not installed TYPO3 (extracted sources, extension is placed in typo3conf/ext/), the following binary must be executed:

typo3conf/ext/typo3_console/activate

It is a PHP binary like the typo3 binary, thus, if you need a dedicated PHP binary to be used, put it in front like so: /path/to/php typo3conf/ext/typo3_console/activate

When your TYPO3 installation is already set up, use typo3 extension:activate typo3_console, to activate the extension and get all commands from it.

Shell auto complete 

You can get shell auto completion by using the great autocomplete package. Install the package and make the binary available in your path. Please read the installation instructions of this package on how to do that.

To temporary activate auto complete in the current shell session, type eval "$(symfony-autocomplete --aliases=typo3)" You can also put this into your .profile or .bashrc file to have it always available. Auto completion is then always dynamic and reflects the commands you have available in your TYPO3 installation.

Command Reference 

The following reference was automatically generated from code.

Application Options 

The following options can be used with every command:

--help|-h
Display help for the given command. When no command is given display help for the list command
--quiet|-q
Do not output any message
--verbose|-v|-vv|-vvv
Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
--version|-V
Display this application version
--ansi
Force (or disable --no-ansi) ANSI output
--no-interaction|-n
Do not ask any interactive question

Available Commands 

backend:createadmin 

Create admin backend user

Create a new user with administrative access.

Arguments 

username
Username of the user
password
Password of the user

backend:lockforeditors 

Lock backend for editors

Deny backend access, but only for editors. Admins will still be able to log in and work with the backend. CLI access (commands/scheduler) is allowed as well.

backend:unlockforeditors 

Unlock backend for editors

Allow backend access for editors again (e.g. after having been locked with backend:lockforeditors command).

cache:flushtags 

Flush TYPO3 caches with tags.

This command can be used to clear the caches with specific tags, for example after code updates in local development and after deployments.

Arguments 

tags
Array of tags (specified as comma separated values) to flush.

Options 

--groups|-g
Array of groups (specified as comma separated values) for which to flush tags. If no group is specified, caches of all groups are flushed.
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: 'all'

cache:listgroups 

List cache groups

Lists all registered cache groups.

configuration:showactive 

Show active configuration value

Shows active system configuration by path. Shows the configuration value that is currently effective, no matter where and how it is set.

Example:

typo3 configuration:showactive DB --json
Copied!

Arguments 

path
Path to system configuration

Options 

--json
If set, the configuration is shown as JSON
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false

configuration:show 

Show configuration value

Shows system configuration value by path. If the currently active configuration differs from the value in system configuration file the difference between these values is shown.

Example:

typo3 configuration:show DB
Copied!

Arguments 

path
Path to system configuration

frontend:request 

Submit frontend request

Submits a frontend request to TYPO3 on the specified URL.

Arguments 

requestUrl
URL to make a frontend request

configuration:remove 

Remove configuration value

Removes a system configuration option by path.

For this command to succeed, the configuration option(s) must be in system configuration file and not be overridden elsewhere.

Example:

typo3 configuration:remove DB,EXT/EXTCONF/realurl
Copied!

Arguments 

paths
Path to system configuration that should be removed. Multiple paths can be specified separated by comma

Options 

--force
If set, does not ask for confirmation
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false

configuration:set 

Set configuration value

Set system configuration option value by path.

Examples:

typo3 configuration:set SYS/fileCreateMask 0664
Copied!
typo3 configuration:set EXTCONF/processor_enabled true --json
Copied!
typo3 configuration:set EXTCONF/lang/availableLanguages '["de", "fr"]' --json
Copied!
typo3 configuration:set BE/adminOnly -- -1
Copied!

Arguments 

path
Path to system configuration
value
Value for system configuration

Options 

--json
Treat value as JSON (also makes it possible to force datatypes for value)
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false

configuration:showlocal 

Show local configuration value

Shows local configuration option value by path. Shows the value which is stored in system configuration file. Note that this value could be overridden. Use typo3 configuration:show <path> to see if this is the case.

Example:

typo3 configuration:showlocal DB
Copied!

Arguments 

path
Path to local system configuration

Options 

--json
If set, the configuration is shown as JSON
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false

database:export 

Export database to stdout

Export the database (all tables) directly to stdout. The mysqldump binary must be available in the path for this command to work. This obviously only works when MySQL is used as DBMS.

Tables to be excluded from the export can be specified fully qualified or with wildcards:

Example:

typo3 database:export -c Default -e 'cf_*' -e 'cache_*' -e '[bf]e_sessions' -e sys_log
Copied!
typo3 database:export database:export -c Default -- --column-statistics=0
Copied!

Arguments 

additionalMysqlDumpArguments
Pass one or more additional arguments to the mysqldump command; see examples

Options 

--exclude|-e
Full table name or wildcard expression to exclude from the export.
  • Accept value: yes
  • Is value required: yes
  • Is multiple: yes
  • Default: array ()
--connection|-c
TYPO3 database connection name (defaults to all configured MySQL connections)
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no

database:import 

Import mysql queries from stdin

This means that this can not only be used to pass insert statements, it but works as well to pass SELECT statements to it. The mysql binary must be available in the path for this command to work. This obviously only works when MySQL is used as DBMS.

Example (import):

ssh remote.server '/path/to/typo3 database:export' | typo3 database:import
Copied!

Example (select):

echo 'SELECT username from be_users WHERE admin=1;' | typo3 database:import -- --skip-ssl
Copied!

Example (interactive):

typo3 database:import --interactive
Copied!

Arguments 

additionalMysqlArguments
Pass one or more additional arguments to the mysql command; see examples

Options 

--interactive
Open an interactive mysql shell using the TYPO3 connection settings.
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false
--connection
TYPO3 database connection name
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: 'Default'

database:updateschema 

Update database schema (TYPO3 Database Compare)

Compares the current database schema with schema definition from extensions's ext_tables.sql files and updates the schema based on the definition.

Valid schema update types are:

  • field.add
  • field.change
  • field.prefix
  • field.drop
  • table.add
  • table.change
  • table.prefix
  • table.drop
  • safe (includes all necessary operations, to add or change fields or tables)
  • destructive (includes all operations which rename or drop fields or tables)

The list of schema update types supports wildcards to specify multiple types, e.g.:

  • "*" (all updates)
  • "field.*" (all field updates)
  • "*.add,*.change" (all add/change updates)

To avoid shell matching all types with wildcards should be quoted.

Example:

typo3 database:updateschema "*.add,*.change"
Copied!
typo3 database:updateschema "*.add" --raw
Copied!
typo3 database:updateschema "*" --verbose
Copied!

Arguments 

schemaUpdateTypes
List of schema update types

Options 

--dry-run
If set the updates are only collected and shown, but not executed
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false
--raw
If set, only the SQL statements, that are required to update the schema, are printed
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false

install:setup 

TYPO3 Setup

Use as command line replacement for the web installation process. Manually enter details on the command line or non interactive for automated setups. As an alternative for providing command line arguments, it is also possible to provide environment variables. Command line arguments take precedence over environment variables. The following environment variables are evaluated:

  • TYPO3_INSTALL_DB_DRIVER
  • TYPO3_INSTALL_DB_USER
  • TYPO3_INSTALL_DB_PASSWORD
  • TYPO3_INSTALL_DB_HOST
  • TYPO3_INSTALL_DB_PORT
  • TYPO3_INSTALL_DB_UNIX_SOCKET
  • TYPO3_INSTALL_DB_USE_EXISTING
  • TYPO3_INSTALL_DB_DBNAME
  • TYPO3_INSTALL_ADMIN_USER
  • TYPO3_INSTALL_ADMIN_PASSWORD
  • TYPO3_INSTALL_SITE_NAME
  • TYPO3_INSTALL_SITE_SETUP_TYPE
  • TYPO3_INSTALL_SITE_BASE_URL
  • TYPO3_INSTALL_WEB_SERVER_CONFIG

Options 

--force|-f
Force installation of TYPO3, even if system configuration file already exists.
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false
--skip-integrity-check
Skip the checking for clean state before executing setup. This allows a pre-defined system configuration file to be present. Handle with care. It might lead to unexpected or broken installation results.
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false
--skip-extension-setup
Skip setting up extensions after TYPO3 is set up. Defaults to false in composer setups and to true in non composer setups.
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false
--install-steps-config
Override install steps with the ones given in this file
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
--database-driver
Database connection type (one of mysqli, pdo_sqlite, pdo_mysql, pdo_pgsql, mssql) Note: pdo_sqlite is only supported with TYPO3 9.5 or higher
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: 'mysqli'
--database-user-name
User name for database server
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: ''
--database-user-password
User password for database server
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: ''
--database-host-name
Host name of database server
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: '127.0.0.1'
--database-port
TCP Port of database server
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: '3306'
--database-socket
Unix Socket to connect to (if localhost is given as hostname and this is kept empty, a socket connection will be established)
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: ''
--database-name
Name of the database
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
--use-existing-database
If set an empty database with the specified name will be used. Otherwise a database with the specified name is created.
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false
--admin-user-name
User name of the administrative backend user account to be created
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
--admin-password
Password of the administrative backend user account to be created
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
--site-name
Site Name
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: 'New TYPO3 Console site'
--web-server-config
Web server config file to install in document root (none, apache, iis)
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: 'none'
--site-setup-type
Can be either no (which unsurprisingly does nothing at all) or site (which creates an empty root page and setup)
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: 'no'
--site-base-url
When site-setup-type is set to site, this base url is used for the created site configuration
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: '/'

install:fixfolderstructure 

Fix folder structure

Automatically create files and folders, required for a TYPO3 installation.

This command creates the required folder structure needed for TYPO3 including extensions.

install:extensionsetupifpossible 

Setup TYPO3 with extensions if possible

This command tries up all TYPO3 extensions, but quits gracefully if this is not possible. This can be used in composer.json scripts to ensure that extensions are always set up correctly after a composer run on development systems, but does not fail on packaging for deployment where no database connection is available.

Besides that, it can be used for a first deploy of a TYPO3 instance in a new environment, but also works for subsequent deployments.

Options 

--fail-on-error
Instead of gracefully exiting this command if something goes wrong, throw an error
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false

install:lock 

Lock Install Tool

Block install tool access again (e.g. after having been unlocked with install:unlock command).

install:unlock 

Unlock Install Tool

Allow install tool access.

frontend:asseturl 

Show asset URL for TYPO3 extension(s)

Shows public asset URLs for one or all TYPO3 extensions

Options 

--extension|-e
Extension key
  • Accept value: yes
  • Is value required: yes
  • Is multiple: yes
  • Default: array ()
--format|-f
Output format (any of "table", "json", "text")
  • Accept value: yes
  • Is value required: yes
  • Is multiple: no
  • Default: 'table'
--composer-name|-c
Use composer name as index
  • Accept value: no
  • Is value required: no
  • Is multiple: no
  • Default: false

Sitemap