diff --git a/src/Commando/Command.php b/src/Commando/Command.php index 26b494e..993f68b 100755 --- a/src/Commando/Command.php +++ b/src/Commando/Command.php @@ -495,10 +495,11 @@ public function parse() } } - // See if our options have what they require + // See if our options have what they require. + // But only do so if the option is actually used foreach ($this->options as $option) { $needs = $option->hasNeeds($this->options); - if ($needs !== true) { + if ($needs !== true && array_key_exists($option->getName(), $keyvals)) { throw new \InvalidArgumentException( 'Option "' . $option->getName() . '" does not have required option(s): ' . implode(', ', $needs) );