diff --git a/lib/manager/composer/artifacts.js b/lib/manager/composer/artifacts.js
index a244b34db3be2b9935b39a30d8e6f9392e45759f..1ddbbfb48943b2473b353010d839976704d682d1 100644
--- a/lib/manager/composer/artifacts.js
+++ b/lib/manager/composer/artifacts.js
@@ -167,6 +167,11 @@ async function getArtifacts(
       )
     ) {
       logger.info('Composer requirements cannot be resolved');
+    } else if (
+      err.message &&
+      err.message.includes('write error (disk full?)')
+    ) {
+      throw new Error('disk-space');
     } else {
       logger.warn(
         { err, message: err.message },
diff --git a/test/manager/composer/artifacts.spec.js b/test/manager/composer/artifacts.spec.js
index 2080fdf5922d5e33d7dae4486df85d1e4b4ec5e8..227976e485b5ddd9ebce410b1ff4fdf1f559677e 100644
--- a/test/manager/composer/artifacts.spec.js
+++ b/test/manager/composer/artifacts.spec.js
@@ -99,4 +99,19 @@ describe('.getArtifacts()', () => {
       await composer.getArtifacts('composer.json', [], '{}', config)
     ).toMatchSnapshot();
   });
+  it('throws for disk space', async () => {
+    platform.getFile.mockReturnValueOnce('Current composer.lock');
+    fs.outputFile = jest.fn(() => {
+      throw new Error(
+        'vendor/composer/07fe2366/sebastianbergmann-php-code-coverage-c896779/src/Report/Html/Renderer/Template/js/d3.min.js:  write error (disk full?).  Continue? (y/n/^C) '
+      );
+    });
+    let e;
+    try {
+      await composer.getArtifacts('composer.json', [], '{}', config);
+    } catch (err) {
+      e = err;
+    }
+    expect(e).toBeDefined();
+  });
 });