setName('foo:bar') ->setDescription('The foo:bar command') ->setAliases(['afoobar']) ->addOption('fooopt', 'fo', InputOption::VALUE_OPTIONAL, 'fooopt description') ; } protected function interact(InputInterface $input, OutputInterface $output) { $output->writeln('interact called'); } protected function execute(InputInterface $input, OutputInterface $output) { $this->input = $input; $this->output = $output; $output->writeln('called'); $output->writeln($this->input->getOption('fooopt')); } }