diff --git a/lib/bolt/transport/local.rb b/lib/bolt/transport/local.rb
index <HASH>..<HASH> 100644
--- a/lib/bolt/transport/local.rb
+++ b/lib/bolt/transport/local.rb
@@ -15,7 +15,11 @@ module Bolt
       end
 
       def provided_features
-        ['shell']
+        if Bolt::Util.windows?
+          ['powershell']
+        else
+          ['shell']
+        end
       end
 
       def default_input_method(executable)
diff --git a/spec/bolt/transport/local_spec.rb b/spec/bolt/transport/local_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/bolt/transport/local_spec.rb
+++ b/spec/bolt/transport/local_spec.rb
@@ -19,6 +19,14 @@ describe Bolt::Transport::Local, bash: true do
     expect(runner.connected?(target)).to eq(true)
   end
 
+  it 'provides platform specific features' do
+    if Bolt::Util.windows?
+      expect(runner.provided_features).to eq(['powershell'])
+    else
+      expect(runner.provided_features).to eq(['shell'])
+    end
+  end
+
   include_examples 'transport api'
 
   context 'file errors' do
(BOLT-<I>) Set provided features for local transport

When using the local transport set `provided_features` to `shell` or `powershell` to reflect running on a windows or POSIX system.