diff --git a/client/lib/chatMessages.coffee b/client/lib/chatMessages.coffee
index 4b3b2f9985242e7f31e180e1e6263df1e9d549ef..3657029e81bd80061d458030ed24add828765a56 100644
--- a/client/lib/chatMessages.coffee
+++ b/client/lib/chatMessages.coffee
@@ -110,6 +110,17 @@ class @ChatMessages
 				postGrowCallback: =>
 					this.resize()
 
+	tryCompletion: (input) ->
+		value = input.value.match(/[^\s]+$/)
+		if value?.length > 0
+			value = value[0]
+
+			re = new RegExp value, 'i'
+
+			user = Meteor.users.findOne username: re
+			if user?
+				input.value = input.value.replace value, '@' + user.username
+
 	keyup: (rid, event) ->
 		input = event.currentTarget
 		k = event.which
@@ -148,6 +159,12 @@ class @ChatMessages
 			else
 				this.send(rid, input)
 			return
+
+		if k is 9
+			event.preventDefault()
+			event.stopPropagation()
+			@tryCompletion input
+
 		if k is 27
 			if this.editing.id
 				event.preventDefault()