diff --git a/changelogs/unreleased/28329-allow-slash-in-slash-command-args.yml b/changelogs/unreleased/28329-allow-slash-in-slash-command-args.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fed02139a5c4394c7a7f27b45e1bd84e4a3ab0f2
--- /dev/null
+++ b/changelogs/unreleased/28329-allow-slash-in-slash-command-args.yml
@@ -0,0 +1,4 @@
+---
+title: Allow slashes in slash command arguments
+merge_request:
+author:
diff --git a/lib/gitlab/slash_commands/extractor.rb b/lib/gitlab/slash_commands/extractor.rb
index a672e5e485528a58a1d1f562f95f80b4b4fa3ea3..6dbb467d70de6f819c69489797bd9774909bebc5 100644
--- a/lib/gitlab/slash_commands/extractor.rb
+++ b/lib/gitlab/slash_commands/extractor.rb
@@ -103,7 +103,7 @@ module Gitlab
               (?<cmd>#{Regexp.union(names)})
               (?:
                 [ ]
-                (?<arg>[^\/\n]*)
+                (?<arg>[^\n]*)
               )?
               (?:\n|$)
             )
diff --git a/spec/lib/gitlab/slash_commands/extractor_spec.rb b/spec/lib/gitlab/slash_commands/extractor_spec.rb
index 1e4954c4af8dcb9cbb427c6ee3aa2dccb6fe16c6..d7f77486b3e6ebab612aed81d4b861d3e297fd45 100644
--- a/spec/lib/gitlab/slash_commands/extractor_spec.rb
+++ b/spec/lib/gitlab/slash_commands/extractor_spec.rb
@@ -81,6 +81,14 @@ describe Gitlab::SlashCommands::Extractor do
           let(:original_msg) { "/assign @joe\nworld" }
           let(:final_msg) { "world" }
         end
+
+        it 'allows slash in command arguments' do
+          msg = "/assign @joe / @jane\nworld"
+          msg, commands = extractor.extract_commands(msg)
+
+          expect(commands).to eq [['assign', '@joe / @jane']]
+          expect(msg).to eq 'world'
+        end
       end
 
       context 'in the middle of content' do