diff --git a/libtaskotron/directives/create_report_directive.py b/libtaskotron/directives/create_report_directive.py
--- a/libtaskotron/directives/create_report_directive.py
+++ b/libtaskotron/directives/create_report_directive.py
@@ -100,7 +100,7 @@
             report_fname = os.path.join(env_data['artifactsdir'], 'report.html')
 
         if 'template' in input_data:
-            template_fname = os.path.join(os.path.dirname(env_data['taskfile']),
+            template_fname = os.path.join(os.path.dirname(env_data['task']),
                                           input_data['template'])
         else:
             template_fname = os.path.join(TEMPL_DIR, 'html.j2')
diff --git a/libtaskotron/directives/python_directive.py b/libtaskotron/directives/python_directive.py
--- a/libtaskotron/directives/python_directive.py
+++ b/libtaskotron/directives/python_directive.py
@@ -203,7 +203,7 @@
                 "arguments. Detected arguments: %s" % detected_args)
 
         method_name = input_data.pop('callable')
-        basedir = os.path.dirname(env_data['taskfile'])
+        basedir = os.path.dirname(env_data['task'])
 
         pyfile = os.path.join(basedir, input_data.pop('file'))
 
diff --git a/libtaskotron/main.py b/libtaskotron/main.py
--- a/libtaskotron/main.py
+++ b/libtaskotron/main.py
@@ -31,7 +31,7 @@
     # update it if needed!
 
     parser = argparse.ArgumentParser()
-    parser.add_argument("task", nargs=1, help="task to run")
+    parser.add_argument("task", help="task formula to run")
     parser.add_argument("-a", "--arch",
                         choices=["i386", "x86_64", "armhfp", "noarch"],
                         action='append',
@@ -132,7 +132,6 @@
 
     # set paths
     args['artifactsdir'] = os.path.join(config.get_config().artifactsdir, args['uuid'])
-    args['taskfile'] = args['task'][0]
 
     return args
 
diff --git a/libtaskotron/minion.py b/libtaskotron/minion.py
--- a/libtaskotron/minion.py
+++ b/libtaskotron/minion.py
@@ -99,21 +99,21 @@
                 pipes.quote(self.taskdir), pipes.quote(self.arg_data['patch'])))
 
         # put files needed for execution (task, input files, etc)
-        self.ssh.put_dir(os.path.dirname(os.path.abspath(self.arg_data['taskfile'])), self.taskdir)
+        self.ssh.put_dir(os.path.dirname(os.path.abspath(self.arg_data['task'])), self.taskdir)
 
         # need to have default_flow_style false to get valid yaml w/ nested dicts
         self.ssh.write_file(os.path.join(self.taskdir,
-                                         os.path.basename(self.arg_data['taskfile'])),
+                                         os.path.basename(self.arg_data['task'])),
                             yaml.dump(self.task_data, default_flow_style=False))
 
     def _run(self):
         '''The main method that runs the task'''
 
-        taskfile = os.path.basename(self.arg_data['taskfile'])
+        task = os.path.basename(self.arg_data['task'])
         cmdline = python_utils.reverse_argparse(self.arg_data['_orig_args'],
                                                 ignore=self.arg_data_exclude)
         cmdline.append('--local')
-        cmdline.append(taskfile)
+        cmdline.append(task)
 
         # be paranoid and escape everything
         cmdline = [pipes.quote(elem) for elem in cmdline]
diff --git a/libtaskotron/overlord.py b/libtaskotron/overlord.py
--- a/libtaskotron/overlord.py
+++ b/libtaskotron/overlord.py
@@ -32,7 +32,7 @@
         self.exitcode = None
 
         # parse task formula
-        self.task_data = taskformula.parse_yaml_from_file(arg_data['taskfile'])
+        self.task_data = taskformula.parse_yaml_from_file(arg_data['task'])
         if not self.task_data:
             raise exc.TaskotronYamlError('Input file should not be empty')
 
diff --git a/testing/functest_python_directive.py b/testing/functest_python_directive.py
--- a/testing/functest_python_directive.py
+++ b/testing/functest_python_directive.py
@@ -12,7 +12,7 @@
     def setup_method(self, method):
         self.ref_taskyaml = 'footask.yml'
         self.ref_pyfile = 'some_loadable_test.py'
-        self.ref_env = {'taskfile': os.path.join(os.path.dirname(
+        self.ref_env = {'task': os.path.join(os.path.dirname(
             os.path.abspath(__file__)), self.ref_taskyaml)}
         self.test_directive = python_directive.PythonDirective()
 
diff --git a/testing/test_exitcode_directive.py b/testing/test_exitcode_directive.py
--- a/testing/test_exitcode_directive.py
+++ b/testing/test_exitcode_directive.py
@@ -80,7 +80,7 @@
                     'ssh': None,
                     'ssh_privkey': None,
                     'uuid': '',
-                    'taskfile': '',
+                    'task': '',
                     'no_destroy': None}
         arg_data['artifactsdir'] = '/dir'
 
diff --git a/testing/test_main.py b/testing/test_main.py
--- a/testing/test_main.py
+++ b/testing/test_main.py
@@ -102,9 +102,9 @@
         assert test_args['artifactsdir'] == os.path.join(self.ref_artifactsdir,
                                                          self.ref_input['uuid'])
 
-    def test_taskfile(self):
+    def test_task(self):
         test_args = main.process_args(self.ref_input)
-        assert test_args['taskfile'] == self.ref_input['task'][0]
+        assert test_args['task'] == self.ref_input['task']
 
 
 @pytest.mark.usefixtures('setup')
diff --git a/testing/test_minion.py b/testing/test_minion.py
--- a/testing/test_minion.py
+++ b/testing/test_minion.py
@@ -20,7 +20,7 @@
     @pytest.fixture
     def setup(self, monkeypatch):
         self.ref_arg_data = {'artifactsdir': '/somedir/',
-                             'taskfile': '/path/mytask.yaml',
+                             'task': '/path/mytask.yaml',
                              'ssh_privkey': None,
                              '_orig_args': {'item': 'foo',
                                             'type': 'koji_tag'}}
@@ -59,26 +59,26 @@
 
     def test_run_escape(self):
         '''Cmdline arguments must be escaped when running the task on minion'''
-        self.ref_arg_data['taskfile'] = 'my sneaky task*; name.yaml'
+        self.ref_arg_data['task'] = 'my sneaky task*; name.yaml'
         self.ref_arg_data['_orig_args']['item'] = 'foo (bar); baz'
         self.bm._run()
         cmd_calls = [call for call in self.mock_ssh.method_calls if call[0] == 'cmd']
         pos_args = cmd_calls[0][1]
         cmdline = pos_args[0]
         elems = shlex.split(cmdline)
-        assert self.ref_arg_data['taskfile'] in elems
+        assert self.ref_arg_data['task'] in elems
         assert self.ref_arg_data['_orig_args']['item'] in elems
 
     def test_run_formula_path(self):
         '''We have to adjust formula path to local directory'''
-        self.ref_arg_data['taskfile'] = '/some/host/path/task.yaml'
+        self.ref_arg_data['task'] = '/some/host/path/task.yaml'
         self.bm._run()
         cmd_calls = [call for call in self.mock_ssh.method_calls if call[0] == 'cmd']
         pos_args = cmd_calls[0][1]
         cmdline = pos_args[0]
         elems = shlex.split(cmdline)
         assert 'task.yaml' in elems
-        assert self.ref_arg_data['taskfile'] not in elems
+        assert self.ref_arg_data['task'] not in elems
 
     def test_run_add_local(self):
         self.bm._run()
diff --git a/testing/test_overlord.py b/testing/test_overlord.py
--- a/testing/test_overlord.py
+++ b/testing/test_overlord.py
@@ -37,7 +37,7 @@
         self.stub_config_remote.runtask_mode = config.RuntaskModeName.LIBVIRT
 
         self.empty_args = {'local': None, 'libvirt': None, 'ssh': None, 'ssh_privkey': None,
-                           'uuid': '', 'taskfile': '', 'artifactsdir': '/dir'}
+                           'uuid': '', 'task': '', 'artifactsdir': '/dir'}
         self.fake_taskdata = {'environment': {'rpm': ['foo', 'bar']}}
 
     def test_local_no_cli(self, monkeypatch):
@@ -113,7 +113,7 @@
         monkeypatch.setattr(file_utils, 'makedirs', Dingus())
 
         ref_inputdata = {'local': True, 'ssh': None, 'ssh_privkey': None, 'uuid': '',
-                         'taskfile': '', 'artifactsdir': '/dir'}
+                         'task': '', 'artifactsdir': '/dir'}
 
         stub_local_runner = Dingus()
         monkeypatch.setattr(executor, 'Executor', stub_local_runner)
diff --git a/testing/test_python_directive.py b/testing/test_python_directive.py
--- a/testing/test_python_directive.py
+++ b/testing/test_python_directive.py
@@ -175,7 +175,7 @@
 
         self.ref_taskyaml = '/path/to/foo/footask.yml'
         self.ref_input = {'file': 'foo.py', 'callable': 'bar', 'kwarg1': 'baz'}
-        self.ref_env = {'taskfile': self.ref_taskyaml}
+        self.ref_env = {'task': self.ref_taskyaml}
         self.ref_pyfile = os.path.join(os.path.dirname(self.ref_taskyaml),
                                        self.ref_input['file'])
 

