diff --git a/Library/Homebrew/cmd/postinstall.rb b/Library/Homebrew/cmd/postinstall.rb
index 1936f25ea37f505933a96363bd11ec198f76ecf8..337fc62be83240cc008d9ea2e60c0d555cb106cf 100644
--- a/Library/Homebrew/cmd/postinstall.rb
+++ b/Library/Homebrew/cmd/postinstall.rb
@@ -15,8 +15,12 @@ module Homebrew
       #{formula.path}
     ].concat(ARGV.options_only)
 
+    if Sandbox.available? && ARGV.sandbox? && Sandbox.auto_disable?
+      Sandbox.print_autodisable_warning
+    end
+
     Utils.safe_fork do
-      if Sandbox.available? && ARGV.sandbox?
+      if Sandbox.available? && ARGV.sandbox? && !Sandbox.auto_disable?
         sandbox = Sandbox.new
         formula.logs.mkpath
         sandbox.record_log(formula.logs/"sandbox.postinstall.log")
diff --git a/Library/Homebrew/cmd/test.rb b/Library/Homebrew/cmd/test.rb
index 2bc0107cbd27ac4989ed857db3fa99a2da5f218d..d298452fff1d3113ebd10d5da35ef36fdcdd6798 100644
--- a/Library/Homebrew/cmd/test.rb
+++ b/Library/Homebrew/cmd/test.rb
@@ -35,8 +35,12 @@ module Homebrew
           #{f.path}
         ].concat(ARGV.options_only)
 
+        if Sandbox.available? && ARGV.sandbox? && Sandbox.auto_disable?
+          Sandbox.print_autodisable_warning
+        end
+
         Utils.safe_fork do
-          if Sandbox.available? && ARGV.sandbox?
+          if Sandbox.available? && ARGV.sandbox? && !Sandbox.auto_disable?
             sandbox = Sandbox.new
             f.logs.mkpath
             sandbox.record_log(f.logs/"sandbox.test.log")
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index a6264ee62eead7cb60fc234aa863d3fe80bf6122..92023028eb9e260ac1c0e5a7b3d648835ce6f22c 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -486,8 +486,12 @@ class FormulaInstaller
       #{formula.path}
     ].concat(build_argv)
 
+    if Sandbox.available? && ARGV.sandbox? && Sandbox.auto_disable?
+      Sandbox.print_autodisable_warning
+    end
+
     Utils.safe_fork do
-      if Sandbox.available? && ARGV.sandbox?
+      if Sandbox.available? && ARGV.sandbox? && !Sandbox.auto_disable?
         sandbox = Sandbox.new
         formula.logs.mkpath
         sandbox.record_log(formula.logs/"sandbox.build.log")
diff --git a/Library/Homebrew/sandbox.rb b/Library/Homebrew/sandbox.rb
index ab9f5f16fcdbdbde422fbcf812dd602c37df712b..3affa4f9545eb737c80a27bcdeb5be3ce41c1a67 100644
--- a/Library/Homebrew/sandbox.rb
+++ b/Library/Homebrew/sandbox.rb
@@ -8,6 +8,18 @@ class Sandbox
     OS.mac? && File.executable?(SANDBOX_EXEC)
   end
 
+  # there are times the sandbox cannot be used.
+  def self.auto_disable?
+    @auto_disable ||= ARGV.interactive? || ARGV.debug?
+  end
+
+  def self.print_autodisable_warning
+    unless @print_autodisable_warning
+      opoo "The sandbox cannot be used in debug or interactive mode."
+      @print_autodisable_warning = true
+    end
+  end
+
   def initialize
     @profile = SandboxProfile.new
   end