diff --git a/conductr_cli/sandbox_main.py b/conductr_cli/sandbox_main.py
index 657dd85..d07aba2 100644
--- a/conductr_cli/sandbox_main.py
+++ b/conductr_cli/sandbox_main.py
@@ -33,6 +33,7 @@ def build_parser():
     add_image_dir(run_parser)
     run_parser.add_argument('image_version',
                             nargs='?',
+                            type=validation.argparse_version,
                             help='Version of the ConductR docker image to use\n'
                                  'To obtain the current version and additional information, please visit\n'
                                  'http://lightbend.com/product/conductr/developer')
diff --git a/conductr_cli/validation.py b/conductr_cli/validation.py
index 201c7c3..88143b2 100644
--- a/conductr_cli/validation.py
+++ b/conductr_cli/validation.py
@@ -464,3 +464,13 @@ def format_timestamp(timestamp, args):
 
 def get_logger_for_func(func):
     return logging.getLogger('conductr_cli.{}'.format(func.__name__))
+
+
+def argparse_version(value):
+    import argparse
+    import re
+
+    if re.match("^[0-9]+([.][0-9]+)*$", value):
+        return value
+
+    raise argparse.ArgumentTypeError("'%s' is not a valid version number" % value)

diff --git a/conductr_cli/test/test_validation.py b/conductr_cli/test/test_validation.py
new file mode 100644
index 0000000..049ebd2
--- /dev/null
+++ b/conductr_cli/test/test_validation.py
@@ -0,0 +1,30 @@
+from argparse import ArgumentTypeError
+from conductr_cli.validation import argparse_version
+from conductr_cli.test.cli_test_case import CliTestCase
+
+
+class TestTerminal(CliTestCase):
+    def test_argparse_version_number(self):
+        def expect_fail(value):
+            passed = False
+
+            try:
+                argparse_version(value)
+            except ArgumentTypeError:
+                passed = True
+
+            self.assertTrue(passed)
+
+        def expect_pass(value):
+            self.assertEqual(argparse_version(value), value)
+
+        expect_pass('1')
+        expect_pass('1.1')
+        expect_pass('1.1.0')
+        expect_pass('1.2.3.4.5')
+        expect_pass('2')
+        expect_pass('2.0.0')
+
+        expect_fail('potato')
+        expect_fail('1.')
+        expect_fail(' asdf 1 hello')

Running sandbox with unparseable version should give nicer error
When I run `sandbox run abc`, I expect the program will give me an error that is understandable.

Instead, I get this:

```
~/work/conductr-crash/target/bundle $ sandbox run abc
Error: Encountered unexpected error.
Error: Reason: ValueError invalid literal for int() with base 10: 'a'
Error: Further information of the error can be found in the error log file: /home/longshorej/.conductr/errors.log
-> 1
```
conductr_cli/test/test_validation.py::TestTerminal::test_argparse_version_number