diff --git a/uroboros/option.py b/uroboros/option.py
index 03975ff..65bf35f 100644
--- a/uroboros/option.py
+++ b/uroboros/option.py
@@ -27,7 +27,7 @@ class Option(metaclass=abc.ABCMeta):
         return unsafe_args
 
     def validate(self, args: 'argparse.Namespace') -> 'List[Exception]':
-        raise []
+        return []
 
     def after_validate(self,
                        safe_args: 'argparse.Namespace'

Use `return` not `raise` in Option.validate
If the validate function is not overwritten, it rases following exception.
```sh
Traceback (most recent call last):
  File "examples/main.py", line 310, in <module>
    exit_code = root_cmd.execute()
  File "/home/pudding/.local/share/virtualenvs/hoger-EWaBsfe_/lib/python3.7/site-packages/uroboros/command.py", line 67, in execute
    exceptions = self._validate_all(args, commands)
  File "/home/pudding/.local/share/virtualenvs/hoge-EWaBsfe_/lib/python3.7/site-packages/uroboros/command.py", line 281, in _validate_all
    exceptions.extend(cmd.validate(args))
  File "/home/pudding/.local/share/virtualenvs/hoge-EWaBsfe_/lib/python3.7/site-packages/uroboros/command.py", line 292, in validate
    exceptions.extend(opt.validate(args))
  File "/home/pudding/.local/share/virtualenvs/hoge-EWaBsfe_/lib/python3.7/site-packages/uroboros/option.py", line 30, in validate
    raise []
TypeError: exceptions must derive from BaseException
```
diff --git a/tests/test_option.py b/tests/test_option.py
index 67b0751..00e2a24 100644
--- a/tests/test_option.py
+++ b/tests/test_option.py
@@ -57,6 +57,13 @@ class NoHookOption(uroboros.Option):
 
 class TestOption(object):
 
+    def test_validate(self):
+        args = argparse.Namespace()
+        nohook = NoHookOption()
+        actual = nohook.validate(args)
+        assert type(actual) == list
+        assert len(actual) == 0
+
     def test_no_before_validate(self):
         args = argparse.Namespace()
         nohook = NoHookOption()

pip install -e .[dev]
parse_log_pytest
pytest
pytest
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///croot/attrs_1668696182826/work
certifi @ file:///croot/certifi_1671487769961/work/certifi
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1648562407465/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
packaging @ file:///croot/packaging_1671697413597/work
pluggy @ file:///tmp/build/80754af9/pluggy_1648042572264/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pytest==7.1.2
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
typing_extensions @ file:///croot/typing_extensions_1669924550328/work
-e git+https://github.com/pddg/uroboros.git@e21435c22adc8da53e3b1036f71f1a111525d849#egg=uroboros
zipp @ file:///croot/zipp_1672387121353/work

name: uroboros
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=22.1.0=py37h06a4308_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - flit-core=3.6.0=pyhd3eb1b0_0
  - importlib-metadata=4.11.3=py37h06a4308_0
  - importlib_metadata=4.11.3=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=22.0=py37h06a4308_0
  - pip=22.3.1=py37h06a4308_0
  - pluggy=1.0.0=py37h06a4308_1
  - py=1.11.0=pyhd3eb1b0_0
  - pytest=7.1.2=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py37h06a4308_0
  - typing_extensions=4.4.0=py37h06a4308_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.11.0=py37h06a4308_0
  - zlib=1.2.13=h5eee18b_1
prefix: /opt/conda/envs/uroboros

tests/test_option.py::TestOption::test_validate
tests/test_option.py::TestOption::test_no_before_validate tests/test_option.py::TestOption::test_before_hook tests/test_option.py::TestOption::test_no_after_validate tests/test_option.py::TestOption::test_after_hook tests/test_option.py::TestOption::test_cannot_instantiate tests/test_option.py::TestOption::test_call_twice[option0] tests/test_option.py::TestOption::test_call_twice[option1]
uroboros/option.py
uroboros/option.py