To call an Artisan command programmatically with a valueless option such as --quiet, you should pass true as the value for the option in the array. However, since you're encountering an error, it's possible that the version of Laravel or Symfony's Console component you're using has a bug or a change in behavior.
The correct way to call a command with a valueless option is as follows:
Artisan::call('project:command', ['--quiet' => true]);
If you're getting an error with this approach, as a workaround, you can try passing the option as a string within the command itself, like so:
Artisan::call('project:command --quiet');
This will treat --quiet as a flag without a value, which is the intended behavior for valueless options.
If you continue to experience issues, ensure that you are using the latest stable version of Laravel and that there are no known bugs related to this functionality. If the problem persists, consider reporting it to the Laravel GitHub repository as a potential bug.