diff --git a/chunkypipes/util/__init__.py b/chunkypipes/util/__init__.py
index <HASH>..<HASH> 100644
--- a/chunkypipes/util/__init__.py
+++ b/chunkypipes/util/__init__.py
@@ -1,4 +1,5 @@
 import sys
+import os
 import traceback
 from importlib import import_module
 
@@ -8,6 +9,12 @@ def fetch_command_class(subcommand):
     return module.Command()
 
 
+def print_no_init():
+    sys.stderr.write('ChunkyPipes cannot find an init directory at the user ' +
+                     'home or in the CHUNKY_HOME environment variable. Please ' +
+                     'run \'chunky init\' before using ChunkyPipes.\n')
+
+
 def print_help_text():
     fetch_command_class('help').run_from_argv()
 
@@ -38,6 +45,11 @@ def execute_from_command_line(argv=None):
         print_help_text()
         sys.exit(0)
 
+    chunky_home_root = os.environ.get('CHUNKY_HOME') or os.path.expanduser('~')
+    if not os.path.exists(os.path.join(chunky_home_root, '.chunky')):
+        print_no_init()
+        sys.exit(1)
+
     send_argv = []
     if len(argv) > 2:
         send_argv = argv[2:]
ChunkyPipes now halts execution if it can't find an initialized hidden directory and asks the user to run chunky init