 			if error.name == "CodedError"
 				logger.warn attrs, error.message, code: error.code
 				return callback {message: error.message, code: error.code}
+			if error.message == 'unexpected arguments'
+				logger.log attrs, 'unexpected arguments'
+				metrics.inc 'unexpected-arguments', 1, { status: method }
+				return callback { message: error.message }
 			if error.message in ["not authorized", "doc updater could not load requested ops", "no project_id found on client"]
 				logger.warn attrs, error.message
 				return callback {message: error.message}

				logger.error attrs, "server side error in #{method}"
				# Don't return raw error to prevent leaking server side info
				return callback {message: "Something went wrong in real-time service"}

	configure: (app, io, session) ->
		app.set("io", io)

				user = {_id: "anonymous-user"}

			client.on "joinProject", (data = {}, callback) ->
				if typeof callback != 'function'
					return Router._handleInvalidArguments(client, 'joinProject', arguments)

				if data.anonymousAccessToken
					user.anonymousAccessToken = data.anonymousAccessToken
				WebsocketController.joinProject client, user, data.project_id, (err, args...) ->
