diff --git a/packages/umi/src/build.js b/packages/umi/src/build.js
index 2edc4fd6b66c..918c44964e68 100644
--- a/packages/umi/src/build.js
+++ b/packages/umi/src/build.js
@@ -9,6 +9,7 @@ export default function(opts = {}) {
   delete opts.extraResolveModules;
 
   return require('umi-build-dev/lib/build').default({
+    cwd: process.env.APP_ROOT,
     // eslint-disable-line
     babel: resolve(__dirname, './babel'),
     extraResolveModules: [
diff --git a/packages/umi/src/dev.js b/packages/umi/src/dev.js
index 0b6560c24e29..b7add4941c1b 100644
--- a/packages/umi/src/dev.js
+++ b/packages/umi/src/dev.js
@@ -9,6 +9,7 @@ export default function(opts = {}) {
   delete opts.extraResolveModules;
 
   return require('umi-build-dev/lib/dev').default({
+    cwd: process.env.APP_ROOT,
     // eslint-disable-line
     babel: resolve(__dirname, '../babel'),
     extraResolveModules: [