diff --git a/doc/manual.adoc b/doc/manual.adoc
index 79a9131af..2e551f2b1 100644
--- a/doc/manual.adoc
+++ b/doc/manual.adoc
@@ -487,6 +487,7 @@ Prompt
 |:script <file>		|Execute commands from `<file>`.
 |:exec <flags><args...> |Execute command using `<args>` with external
 			 user-defined command option flags defined in `<flags>`.
+|:echo <args...>        |Display text in the status bar.
 |=============================================================================
 
 [[external-commands]]
diff --git a/src/prompt.c b/src/prompt.c
index 7862812b9..06002198d 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -239,6 +239,7 @@ readline_action_generator(const char *text, int state)
 		"save-display",
 		"save-options",
 		"exec",
+		"echo",
 #define REQ_GROUP(help)
 #define REQ_(req, help)	#req
 		REQ_INFO,
@@ -844,6 +845,17 @@ run_prompt_command(struct view *view, const char *argv[])
 			goto_id(view, argv[1], true, true);
 		return REQ_NONE;
 
+	} else if (!strcmp(cmd, "echo")) {
+		char text[SIZEOF_STR] = "";
+
+		if (argv[1] && !argv_to_string(&argv[1], text, sizeof(text), " ")) {
+			report("Failed to copy echo string");
+			return REQ_NONE;
+		}
+
+		report("%s", text);
+		return REQ_NONE;
+
 	} else if (!strcmp(cmd, "save-display")) {
 		const char *path = argv[1] ? argv[1] : "tig-display.txt";