diff --git a/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue b/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue
index bfa2f2cc14ff000d14b92410a7e50941d85f5daf..a6c31faa45dbd4846ed4e5d26840e16564e56151 100644
--- a/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue
+++ b/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue
@@ -283,10 +283,11 @@ export default {
         redirectTo(data.web_url); // eslint-disable-line import/no-deprecated
       } catch (error) {
         this.isSaving = false;
+        const message =
+          error?.response?.data?.message?.join('. ') ||
+          s__('ForkProject|An error occurred while forking the project. Please try again.');
         createAlert({
-          message: s__(
-            'ForkProject|An error occurred while forking the project. Please try again.',
-          ),
+          message,
         });
       }
     },
diff --git a/spec/frontend/pages/projects/forks/new/components/fork_form_spec.js b/spec/frontend/pages/projects/forks/new/components/fork_form_spec.js
index b0bfa4620c6c3bc02d95243cf165fd41c3d97ca0..532ad52b37e6fd70e7906f745a67c8cf651f04f7 100644
--- a/spec/frontend/pages/projects/forks/new/components/fork_form_spec.js
+++ b/spec/frontend/pages/projects/forks/new/components/fork_form_spec.js
@@ -578,7 +578,21 @@ describe('ForkForm component', () => {
         expect(urlUtility.redirectTo).toHaveBeenCalledWith(webUrl); // eslint-disable-line import/no-deprecated
       });
 
-      it('displays an alert when POST is unsuccessful', async () => {
+      it('displays an alert with message coming from server when POST is unsuccessful', async () => {
+        const error = { response: { data: { message: ['Update error'] } } };
+
+        jest.spyOn(axios, 'post').mockRejectedValue(error);
+
+        setupComponent();
+        await submitForm();
+
+        expect(urlUtility.redirectTo).not.toHaveBeenCalled(); // eslint-disable-line import/no-deprecated
+        expect(createAlert).toHaveBeenCalledWith({
+          message: 'Update error',
+        });
+      });
+
+      it('displays an alert with general error when POST is unsuccessful', async () => {
         const dummyError = 'Fork project failed';
 
         jest.spyOn(axios, 'post').mockRejectedValue(dummyError);