diff --git a/lib/manager/helm-requirements/__snapshots__/extract.spec.ts.snap b/lib/manager/helm-requirements/__snapshots__/extract.spec.ts.snap
index 81ba986a99dba18902985cde0ccab0c29e297538..1879dfa9a8ea974171b3ac6809261f150663dbf6 100644
--- a/lib/manager/helm-requirements/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/helm-requirements/__snapshots__/extract.spec.ts.snap
@@ -1,5 +1,21 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
+exports[`manager/helm-requirements/extract extractPackageFile() ensure that currentValue is string 1`] = `
+Object {
+  "datasource": "helm",
+  "deps": Array [
+    Object {
+      "currentValue": "0.9",
+      "depName": "redis",
+      "registryUrls": Array [
+        "@placeholder",
+      ],
+      "skipReason": "placeholder-url",
+    },
+  ],
+}
+`;
+
 exports[`manager/helm-requirements/extract extractPackageFile() parses simple requirements.yaml correctly 1`] = `
 Object {
   "datasource": "helm",
diff --git a/lib/manager/helm-requirements/extract.spec.ts b/lib/manager/helm-requirements/extract.spec.ts
index 45f25a297a1b3297aa710e20949f55396df8039c..ec33ca38640e7884074d0bab260dddb6d5dc717a 100644
--- a/lib/manager/helm-requirements/extract.spec.ts
+++ b/lib/manager/helm-requirements/extract.spec.ts
@@ -9,6 +9,33 @@ describe('manager/helm-requirements/extract', () => {
       jest.resetAllMocks();
       fs.readLocalFile = jest.fn();
     });
+
+    it('ensure that currentValue is string', () => {
+      fs.readLocalFile.mockResolvedValueOnce(`
+      apiVersion: v1
+      appVersion: "1.0"
+      description: A Helm chart for Kubernetes
+      name: example
+      version: 0.1.0
+      `);
+      const content = `
+      dependencies:
+        - name: redis
+          version: 0.9
+          repository: '@placeholder'
+      `;
+      const fileName = 'requirements.yaml';
+      const result = extractPackageFile(content, fileName, {
+        aliases: {
+          stable: 'https://charts.helm.sh/stable/',
+        },
+      });
+      expect(result).not.toBeNull();
+      expect(typeof result.deps[0]?.currentValue).toBe('string');
+      expect(result).toMatchSnapshot();
+      expect(result.deps.every((dep) => dep.skipReason)).toBe(true);
+    });
+
     it('skips invalid registry urls', () => {
       fs.readLocalFile.mockResolvedValueOnce(`
       apiVersion: v1
diff --git a/lib/manager/helm-requirements/extract.ts b/lib/manager/helm-requirements/extract.ts
index bd4f39a748355880c999dd78b0b6a07f1d41bf71..83fb67f4a5e62c5945a25e79c167349023cda71a 100644
--- a/lib/manager/helm-requirements/extract.ts
+++ b/lib/manager/helm-requirements/extract.ts
@@ -13,7 +13,7 @@ export function extractPackageFile(
   // TODO: fix type
   let doc: any;
   try {
-    doc = load(content, { json: true });
+    doc = load(content, { json: true }); // TODO #9610
   } catch (err) {
     logger.debug({ fileName }, 'Failed to parse helm requirements.yaml');
     return null;
@@ -23,9 +23,18 @@ export function extractPackageFile(
     return null;
   }
   deps = doc.dependencies.map((dep) => {
+    let currentValue; // Remove when #9610 has been implemented
+    switch (typeof dep.version) {
+      case 'number':
+        currentValue = String(dep.version);
+        break;
+      case 'string':
+        currentValue = dep.version;
+    }
+
     const res: PackageDependency = {
       depName: dep.name,
-      currentValue: dep.version,
+      currentValue,
     };
 
     if (!res.depName) {