.. index:: single: Console; Single command application Building a single Command Application ===================================== When building a command line tool, you may not need to provide several commands. In such case, having to pass the command name each time is tedious. .. versionadded:: 5.1 The :class:`Symfony\\Component\\Console\\SingleCommandApplication` class was introduced in Symfony 5.1. Fortunately, it is possible to remove this need by declaring a single command application:: #!/usr/bin/env php setName('My Super Command') // Optional ->setVersion('1.0.0') // Optional ->addArgument('foo', InputArgument::OPTIONAL, 'The directory') ->addOption('bar', null, InputOption::VALUE_REQUIRED) ->setCode(function (InputInterface $input, OutputInterface $output) { // output arguments and options }) ->run(); You can still register a command as usual:: #!/usr/bin/env php add($command); $application->setDefaultCommand($command->getName(), true); $application->run(); The :method:`Symfony\\Component\\Console\\Application::setDefaultCommand` method accepts a boolean as second parameter. If true, the command ``echo`` will then always be used, without having to pass its name.