diff --git a/worker-{{cookiecutter.slug}}/setup.py b/worker-{{cookiecutter.slug}}/setup.py
index ee9565902800e76ea9f1cfa0318db730cfead19d..3f9cc17fb6d5a13ac872e6577d0ebd78d3f10ceb 100755
--- a/worker-{{cookiecutter.slug}}/setup.py
+++ b/worker-{{cookiecutter.slug}}/setup.py
@@ -9,10 +9,25 @@ MODULE = "worker_{{cookiecutter.slug}}"
 COMMAND = "worker-{{cookiecutter.slug}}"
 
 
+def parse_requirements_line(line):
+    """Special case for git requirements"""
+    if line.startswith("git+http"):
+        assert "@" in line, "Branch should be specified with suffix (ex: @master)"
+        assert (
+            "#egg=" in line
+        ), "Package name should be specified with suffix (ex: #egg=kraken)"
+        package_name = line.split("#egg=")[-1]
+        return f"{package_name} @ {line}"
+    else:
+        return line
+
+
 def parse_requirements():
     path = Path(__file__).parent.resolve() / "requirements.txt"
     assert path.exists(), f"Missing requirements: {path}"
-    return list(map(str.strip, path.read_text().splitlines()))
+    return list(
+        map(parse_requirements_line, map(str.strip, path.read_text().splitlines()))
+    )
 
 
 setup(