diff --git a/helpers/devcontainer.ts b/helpers/devcontainer.ts
index cb008b97736fa25b55f1ca443438d91017e0aa67..4157411989316246dbc3772df0ecdd35f5ac5f17 100644
--- a/helpers/devcontainer.ts
+++ b/helpers/devcontainer.ts
@@ -46,13 +46,16 @@ export const writeDevcontainer = async (
   framework: TemplateFramework,
   frontend: boolean,
 ) => {
-  console.log("Adding .devcontainer");
+  const devcontainerDir = path.join(root, ".devcontainer");
+  if (fs.existsSync(devcontainerDir)) {
+    console.log("Template already has a .devcontainer. Using it.");
+    return;
+  }
   const devcontainerContent = renderDevcontainerContent(
     templatesDir,
     framework,
     frontend,
   );
-  const devcontainerDir = path.join(root, ".devcontainer");
   fs.mkdirSync(devcontainerDir);
   await fs.promises.writeFile(
     path.join(devcontainerDir, "devcontainer.json"),