Index: uspace/app/klog/Makefile
===================================================================
--- uspace/app/klog/Makefile	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/app/klog/Makefile	(revision 1152705147c4ffcf626525e4a252d76925aee2dc)
@@ -29,4 +29,6 @@
 
 USPACE_PREFIX = ../..
+LIBS = $(LIBCLUI_PREFIX)/libclui.a
+EXTRA_CFLAGS = -I$(LIBCLUI_PREFIX)
 BINARY = klog
 
Index: uspace/app/klog/klog.c
===================================================================
--- uspace/app/klog/klog.c	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/app/klog/klog.c	(revision 1152705147c4ffcf626525e4a252d76925aee2dc)
@@ -48,4 +48,5 @@
 #include <adt/list.h>
 #include <adt/prodcons.h>
+#include <tinput.h>
 
 #define NAME       "klog"
@@ -228,12 +229,31 @@
 	}
 	
+	tinput_t *input = tinput_new();
+	if (!input) {
+		fprintf(stderr, "%s: Could not create input\n", NAME);
+		return ENOMEM;
+	}	
+
 	fibril_add_ready(fid);
 	event_unmask(EVENT_KLOG);
 	klog_update();
 	
-	task_retval(0);
-	async_manager();
-	
-	return 0;
+	tinput_set_prompt(input, "klog> ");
+
+	char *str;
+	while ((rc = tinput_read(input, &str)) == EOK) {
+		if (str_cmp(str, "") == 0) {
+			free(str);
+			continue;
+		}
+
+		klog_command(str, str_size(str));
+		free(str);
+	}
+ 
+	if (rc == ENOENT)
+		rc = EOK;	
+
+	return EOK;
 }
 
