Skip to main content
Version: 2026.2

CLI and Pimcore Console

Pimcore implements the Symfony\Console component and provides bin/console as the single entry point to all console commands. List every available command with:

bin/console list

Implementing Custom Commands​

Create command classes that extend Pimcore\Console\AbstractCommand to inherit Pimcore-specific defaults (maintenance-mode handling, VarDumper helpers, styled output methods). For general information on writing Symfony console commands, refer to the Symfony Console documentation.

Registering Commands​

Register commands as services tagged with console.command. The default services.yaml shipped with the Pimcore skeleton already enables autoconfiguration for the App namespace, so any class extending AbstractCommand is registered automatically.

Built-in Helpers​

Pimcore\Console\AbstractCommand adds several helpers to every command.

--ignore-maintenance-mode​

The console application adds this option to all commands implicitly. Pimcore checks for it on startup and prevents execution when the system is in maintenance mode unless the flag is set.

--maintenance-mode​

Also added implicitly to all commands. When set, Pimcore activates maintenance mode for the duration of the command and deactivates it once the command finishes.

dump() and dumpVerbose()​

Wrappers around the Symfony VarDumper component. dump() prints output unconditionally; dumpVerbose() only prints when the command runs in verbose mode (-v).

Example​

<?php

namespace App\Command;

use Pimcore\Console\AbstractCommand;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

#[AsCommand(
name: 'awesome:command',
description: 'Awesome command'
)]
class AwesomeCommand extends AbstractCommand
{
protected function execute(InputInterface $input, OutputInterface $output): int
{
$this->dump("Isn't that awesome?");
$this->dumpVerbose("Only visible with -v");

// Styled output helpers
$this->writeError('oh noes!'); // white text on red background
$this->writeInfo('info'); // green text
$this->writeComment('comment'); // blue text
$this->writeQuestion('question'); // yellow text

return self::SUCCESS;
}
}

Running Commands​

List all registered commands and run a specific one:

bin/console list
bin/console awesome:command

Run the console as the PHP process user (e.g. www-data on Debian) to avoid file-permission mismatches:

su -l www-data -s /bin/bash -c "bin/console awesome:command"

Common Pimcore Commands​

Cache​

CommandPurpose
pimcore:cache:clearClear the Pimcore application cache
pimcore:cache:warmingWarm up the Pimcore cache

Deployment​

CommandPurpose
pimcore:deployment:classes-rebuildRebuild class definitions from JSON files

Maintenance​

CommandPurpose
pimcore:maintenanceRun the Pimcore maintenance job
pimcore:maintenance-modeEnable or disable maintenance mode

Bundles​

CommandPurpose
pimcore:bundle:installInstall a Pimcore bundle
pimcore:bundle:listList all registered Pimcore bundles

Run any command with --help for a full description of its options and arguments.