diff --git a/.changeset/warm-pumpkins-bathe.md b/.changeset/warm-pumpkins-bathe.md
new file mode 100644
index 0000000000..93fa603342
--- /dev/null
+++ b/.changeset/warm-pumpkins-bathe.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-react': patch
+---
+
+Open links in the scaffolder entity and step descriptions in a new tab, to ensure consistency and improve user experience
diff --git a/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx b/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx
index d9d82437e4..21b576dd9f 100644
--- a/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx
+++ b/packages/core-components/src/components/MarkdownContent/MarkdownContent.test.tsx
@@ -120,6 +120,23 @@ describe('', () => {
);
});
+ it('render MarkdownContent component with link target set to _blank', async () => {
+ await renderInTestApp(
+ ,
+ );
+ const readme = screen.getByText('README', {
+ selector: 'a',
+ });
+ expect(readme).toBeInTheDocument();
+ expect(readme.getAttribute('href')).toEqual(
+ 'https://github.com/backstage/backstage/blob/master/README.md',
+ );
+ expect(readme.getAttribute('target')).toEqual('_blank');
+ });
+
it('render MarkdownContent component with headings given proper ids', async () => {
await renderInTestApp(
);
diff --git a/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx b/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx
index 9afc18c438..31f5ac2881 100644
--- a/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx
+++ b/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx
@@ -121,6 +121,7 @@ export const Workflow = (workflowProps: WorkflowProps): JSX.Element | null => {
subheader={