<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Windows Mode</title>
    <description>The latest articles on DEV Community by Windows Mode (@windowsmode).</description>
    <link>https://dev.to/windowsmode</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4151032%2Ff6751a7f-44da-4791-9706-2e89e37b1332.png</url>
      <title>DEV Community: Windows Mode</title>
      <link>https://dev.to/windowsmode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/windowsmode"/>
    <language>en</language>
    <item>
      <title>Microsoft's New Copilot Code Lets Anyone Ship Internal Apps. What Should Developers Do About It?</title>
      <dc:creator>Windows Mode</dc:creator>
      <pubDate>Wed, 11 Nov 2026 08:08:30 +0000</pubDate>
      <link>https://dev.to/windowsmode/microsofts-new-copilot-code-lets-anyone-ship-internal-apps-what-should-developers-do-about-it-1k86</link>
      <guid>https://dev.to/windowsmode/microsofts-new-copilot-code-lets-anyone-ship-internal-apps-what-should-developers-do-about-it-1k86</guid>
      <description>&lt;p&gt;On 25 September 2026 Microsoft rebuilt its work Copilot app around three tabs: Home, Code and Autopilot. Code is the one developers should pay attention to, because it is built for people who are &lt;strong&gt;not&lt;/strong&gt; developers, and the things it produces will still end up running inside your company.&lt;/p&gt;

&lt;p&gt;I went through Microsoft's announcement, the Copilot pricing post and the related Microsoft 365 message center notice. Everything below comes from those sources. Where something is still preview or private preview, I say so.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Code&lt;/strong&gt; turns a plain-language description into an app, tracker, dashboard, automation or workflow. Microsoft says it is powered by the same underlying technology as GitHub Copilot.&lt;/li&gt;
&lt;li&gt;It runs in a &lt;strong&gt;sandboxed environment&lt;/strong&gt; and can be hosted inside your Microsoft 365 tenant.&lt;/li&gt;
&lt;li&gt;Hosting comes from &lt;strong&gt;Copilot Managed Runtime&lt;/strong&gt;, which is in preview and which Microsoft says it is opening up to third-party and pro-code developers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Autopilot&lt;/strong&gt; (previously called Scout) is a cloud-hosted agent with its own identity, memory, computer and workspace in your tenant. It is in private preview.&lt;/li&gt;
&lt;li&gt;Cowork, Code and Autopilot run on &lt;strong&gt;usage-based billing with Copilot Credits&lt;/strong&gt;. In enterprise tenants they stay off until an admin creates a spending policy.&lt;/li&gt;
&lt;li&gt;Microsoft says developers keep using &lt;strong&gt;GitHub Copilot&lt;/strong&gt; for their day-to-day work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Code actually is
&lt;/h2&gt;

&lt;p&gt;Microsoft frames Code as a new unit of knowledge work, next to the document, the spreadsheet and the deck. You describe what you want and Copilot "chooses an approach and builds it". The examples Microsoft gives fall into three shapes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Persistent desktop widgets&lt;/strong&gt; for quick reference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive dashboards&lt;/strong&gt; for exploring data and testing outcomes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud-hosted internal apps&lt;/strong&gt; you can share with your team.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The announcement says Code is grounded in Microsoft IQ, so what you build can use the context of your work, and that plugins sync automatically. Fabric IQ, which brings in data such as Power BI semantic models, is generally available in Chat and Cowork, with Code integration "coming through the Frontier program soon".&lt;/p&gt;

&lt;p&gt;On timing, Microsoft said Code would roll out to its Frontier early access program at the end of September, with broad availability in the following weeks, and a preview for Microsoft 365 Premium and Pro subscribers later in 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Copilot Managed Runtime is the part that matters to devs
&lt;/h2&gt;

&lt;p&gt;The prompt box gets the attention, but the hosting layer is the real platform move. Microsoft describes Copilot Managed Runtime as "hosting infrastructure that lets code run safely right inside your company's Microsoft 365 environment". It is governed by IT, while users can share an app with teammates, connect it to live data and open it from anywhere.&lt;/p&gt;

&lt;p&gt;Three details from the announcement stand out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The same runtime backs apps built in &lt;strong&gt;Cowork, Code and Copilot Studio&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Microsoft says it is &lt;strong&gt;opening it up to third-party and pro-code developers&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It is &lt;strong&gt;in preview&lt;/strong&gt; now and will also be reachable inside Code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Microsoft has not published, in these posts, what languages, frameworks, deployment model or limits the runtime supports for pro-code use. I could not confirm any of that, so I am not guessing. If you are on a platform team, this is the thing to watch at Ignite (17 to 20 November 2026, San Francisco and online), where Microsoft says more Copilot news is coming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autopilot: an agent with its own identity
&lt;/h2&gt;

&lt;p&gt;Autopilot is the always-on piece. You give it a name, a role and a goal, and it watches channels, follows up on threads, runs recurring work and picks projects back up days later without a prompt. Microsoft says it lives in your tenant with "its own identity, memory, computer and workspace", shows up in Teams, Outlook, chats, channels and documents, and works with "permissions, audit and governance behind it".&lt;/p&gt;

&lt;p&gt;For anyone who has built integrations, that sentence raises the obvious questions: what scopes does that identity get, who owns it, and how do you review what it did? The announcement does not answer those in detail. Autopilot is in private preview, so this is the moment to ask your Microsoft 365 admins how they plan to handle it, before it becomes another service account nobody remembers creating.&lt;/p&gt;

&lt;h2&gt;
  
  
  The billing model, in developer terms
&lt;/h2&gt;

&lt;p&gt;Microsoft split Copilot pricing into two parts:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;What it covers&lt;/th&gt;
&lt;th&gt;How it is billed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;User subscription license (USL)&lt;/td&gt;
&lt;td&gt;Chat, Copilot in Word, Excel, PowerPoint, Outlook and Teams, model selection, and Auto&lt;/td&gt;
&lt;td&gt;Per user, per month, with fair use limits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Usage-based billing (UBB)&lt;/td&gt;
&lt;td&gt;Cowork, Code, Autopilot, long-running agent work, and frontier models&lt;/td&gt;
&lt;td&gt;Copilot Credits, on top of the USL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Auto weighs accuracy, speed and cost on each request and routes it to a suitable model. Heavy USL users get a warning first, then a choice to switch to Auto at no extra cost or move to credits.&lt;/p&gt;

&lt;p&gt;The guardrail that matters most: Microsoft says that for enterprise customers, UBB services &lt;strong&gt;stay off until an admin creates a spending policy&lt;/strong&gt; in the Microsoft 365 admin center, and nothing is billed before that. Policies can set tenant and group budgets, per-user caps inside group policies and alert thresholds. Microsoft also says spending policies can be managed programmatically through the Microsoft Graph API, and that usage can be mapped to Azure subscriptions or resource groups. The message center notice says UBB begins rolling out in Copilot in Q4 2026.&lt;/p&gt;

&lt;p&gt;If you already think in FinOps terms for Azure, this will feel familiar. The new part is that the people generating the spend may be in finance or sales, not engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would do as a developer or platform team
&lt;/h2&gt;

&lt;p&gt;None of this needs a migration today. These are low-cost steps that save pain later:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Find out if your tenant is in Frontier&lt;/strong&gt;, Microsoft's early access program. If it is, Code may already be visible to colleagues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Talk to IT about the spending policy before it exists.&lt;/strong&gt; Ask for a pilot group, a per-user cap and alerts rather than a tenant-wide default.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide where "citizen-built" apps live.&lt;/strong&gt; If a Code dashboard becomes business-critical, who owns it, who fixes it, and does it ever move to a real repo?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Treat Autopilot identities like service principals.&lt;/strong&gt; Ask for least privilege, an owner and an audit trail from day one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch Managed Runtime for pro-code support.&lt;/strong&gt; If it opens up the way Microsoft suggests, it could become another hosting target inside Microsoft 365, next to the Azure services you already use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The honest take
&lt;/h2&gt;

&lt;p&gt;Most of this is preview or private preview, and the developer story for Managed Runtime is still thin on details. But the direction is clear. Microsoft wants small internal tools to be built by the people who need them, in Copilot, and run inside the tenant. GitHub Copilot stays the tool for developers, and Code is aimed at everyone else.&lt;/p&gt;

&lt;p&gt;For developers, that can be a relief, because fewer tickets come in asking for a quick dashboard. It can also be a headache, because more unreviewed apps end up touching live company data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your turn
&lt;/h2&gt;

&lt;p&gt;If your colleagues can describe a dashboard and get a working, shareable app in your Microsoft 365 tenant, does that take load off your team, or create a new pile of shadow IT you will end up maintaining? And if you are in the Frontier program, what has Code built for you so far?&lt;/p&gt;




&lt;p&gt;Originally published on &lt;a href="https://www.windowsmode.com/new-microsoft-copilot-home-code-autopilot/" rel="noopener noreferrer"&gt;WindowsMode&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>microsoft</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Your Linux Dev Laptop Can Now Report to Defender: What the Preview Actually Needs</title>
      <dc:creator>Windows Mode</dc:creator>
      <pubDate>Wed, 04 Nov 2026 08:03:37 +0000</pubDate>
      <link>https://dev.to/windowsmode/your-linux-dev-laptop-can-now-report-to-defender-what-the-preview-actually-needs-57k6</link>
      <guid>https://dev.to/windowsmode/your-linux-dev-laptop-can-now-report-to-defender-what-the-preview-actually-needs-57k6</guid>
      <description>&lt;p&gt;If your company protects Windows PCs with Microsoft Defender for Endpoint, your Ubuntu or Fedora laptop may soon get the same agent. Microsoft added Linux desktop support in public preview in September 2026, and it uses the same &lt;code&gt;mdatp&lt;/code&gt; agent that already runs on Linux servers.&lt;/p&gt;

&lt;p&gt;We went through the Microsoft Learn pages and the Microsoft Security announcement to see what that means for developers and the admins who manage their machines. Everything below comes from those sources, and where something is still preview, we say so.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It is a &lt;strong&gt;public preview&lt;/strong&gt;, not general availability.&lt;/li&gt;
&lt;li&gt;There is no separate desktop agent. Same packages, same deployment methods, same features as on Linux servers.&lt;/li&gt;
&lt;li&gt;Desktops need &lt;strong&gt;Defender for Endpoint Plan 2&lt;/strong&gt;, or Microsoft 365 E5 or E7.&lt;/li&gt;
&lt;li&gt;Support depends on the distro and kernel, not on the desktop environment. GNOME, KDE and others are all fine.&lt;/li&gt;
&lt;li&gt;Onboarding is one script. Verifying it takes two &lt;code&gt;mdatp&lt;/code&gt; commands.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why developers should care
&lt;/h2&gt;

&lt;p&gt;A developer laptop holds source code, cloud credentials, SSH keys and access to CI/CD. Microsoft's own announcement makes the same point: a compromised workstation is a foothold in the pipelines that build and ship your software. Until now, many security teams could see the Linux servers but not the Linux laptops.&lt;/p&gt;

&lt;p&gt;If you are the person who runs Linux at work, this is the change that may land on your machine next. If you are the person who manages those machines, it removes a blind spot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need before you start
&lt;/h2&gt;

&lt;p&gt;Microsoft's prerequisites page lists these requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;License:&lt;/strong&gt; Defender for Endpoint Plan 2, Microsoft 365 E5 or Microsoft 365 E7 for desktops. Servers use a different set of licenses, such as Defender for Servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distro:&lt;/strong&gt; one on the supported list. Ubuntu LTS 16.04 to 26.04 and Fedora 33 to 44 are listed for x64. RHEL, Debian, SUSE, Oracle Linux, Rocky, AlmaLinux and others are listed too. Anything not listed is unsupported.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kernel:&lt;/strong&gt; &lt;code&gt;3.10.0-327&lt;/code&gt; or later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hardware:&lt;/strong&gt; at least 1 CPU core, 1 GB of RAM and 2 GB of free disk space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;systemd&lt;/strong&gt; must be your init system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network:&lt;/strong&gt; outbound HTTPS to the Defender endpoints. PAC, WPAD and authenticated proxies are not supported, and neither is SSL inspection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Defender decides whether a device is a server or a workstation from signals such as OS metadata, licensing details and virtual desktop indicators. If the signals are unclear, the device is classified as a server. After onboarding, check the device inventory to confirm your laptop shows up as a workstation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Onboarding with the Defender deployment tool
&lt;/h2&gt;

&lt;p&gt;Microsoft recommends the Defender deployment tool for new installs. It installs the agent and onboards the device in one step. Note that the page for this tool is itself labeled preview.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In the Microsoft Defender portal, go to &lt;strong&gt;Settings &amp;gt; Endpoints &amp;gt; Device management &amp;gt; Onboarding&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Pick &lt;strong&gt;Linux&lt;/strong&gt; as the operating system.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Defender deployment tool&lt;/strong&gt;, select &lt;strong&gt;Download package&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The package is specific to your tenant, so do not reuse it across tenants. Then on the machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;unzip GatewayLinuxDefenderDeploymentTool.zip
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x defender_deployment_tool.sh
&lt;span class="nb"&gt;sudo &lt;/span&gt;bash defender_deployment_tool.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This installs the latest agent from the production channel and onboards the device. Microsoft says it can take 5 to 20 minutes before the device appears in the inventory.&lt;/p&gt;

&lt;p&gt;The tool also has a few flags that are worth knowing. All of these are from Microsoft's documentation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check prerequisites without installing&lt;/span&gt;
&lt;span class="nb"&gt;sudo&lt;/span&gt; ./defender_deployment_tool.sh &lt;span class="nt"&gt;--pre-req&lt;/span&gt;

&lt;span class="c"&gt;# Check that the required URLs are reachable&lt;/span&gt;
&lt;span class="nb"&gt;sudo&lt;/span&gt; ./defender_deployment_tool.sh &lt;span class="nt"&gt;--connectivity-test&lt;/span&gt;

&lt;span class="c"&gt;# Remove Defender&lt;/span&gt;
&lt;span class="nb"&gt;sudo&lt;/span&gt; ./defender_deployment_tool.sh &lt;span class="nt"&gt;--remove&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It also needs outbound access to &lt;code&gt;msdefender.download.prss.microsoft.com&lt;/code&gt; on port 443, and either &lt;code&gt;wget&lt;/code&gt; or &lt;code&gt;curl&lt;/code&gt; installed. Its built-in checks stop the install if memory is under 1 GB, free disk is under 2 GB or glibc is older than 2.17.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verify it worked
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mdatp health &lt;span class="nt"&gt;--field&lt;/span&gt; org_id
mdatp health &lt;span class="nt"&gt;--field&lt;/span&gt; healthy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The first should return your organization ID. The second should return &lt;code&gt;true&lt;/code&gt;. Right after the first start, &lt;code&gt;healthy&lt;/code&gt; can be &lt;code&gt;false&lt;/code&gt; while the agent downloads its first antimalware definitions. That can take a few minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Other deployment routes
&lt;/h3&gt;

&lt;p&gt;If you manage many machines, Microsoft says all existing methods work for desktops. That includes the installer script (&lt;code&gt;mde_installer.sh&lt;/code&gt; from Microsoft's public GitHub repo), manual package install with &lt;code&gt;dnf install mdatp&lt;/code&gt; on RHEL-family distros, and configuration management tools such as Ansible, Chef, Puppet and SaltStack.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the agent does
&lt;/h2&gt;

&lt;p&gt;Because it is the same agent, you get the Linux feature set:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Antivirus with real-time and on-demand scans, plus passive mode for running next to another antivirus product.&lt;/li&gt;
&lt;li&gt;Endpoint detection and response, with the device timeline and advanced hunting.&lt;/li&gt;
&lt;li&gt;Response actions such as live response and device isolation.&lt;/li&gt;
&lt;li&gt;Vulnerability management and security settings management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Antivirus exclusions and settings can be managed centrally from the Defender or Intune portal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gotchas worth knowing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Other fanotify-based security tools.&lt;/strong&gt; Running Defender next to another one is not supported and can cause system hangs. Use passive mode if you must. &lt;code&gt;fapolicyd&lt;/code&gt; on RHEL and Fedora is the documented exception.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Device isolation&lt;/strong&gt; needs &lt;code&gt;iptables&lt;/code&gt; and &lt;code&gt;ip6tables&lt;/code&gt;, or the nft versions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fedora 45 is not on the list yet.&lt;/strong&gt; The documented range stops at Fedora 44.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amazon Linux 2 on ARM64&lt;/strong&gt; is marked as retiring on 31 October 2026.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It is preview.&lt;/strong&gt; Microsoft can change it before general availability, so start with a pilot group instead of the whole fleet.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  One more thing for WSL users
&lt;/h2&gt;

&lt;p&gt;Microsoft's what's new page also lists a Defender plug-in for WSL containers (WSLc) as generally available. It brings WSL container activity into device inventory, alerts, incidents, the device timeline and advanced hunting. That is a separate feature from Linux desktop support, but it is relevant if you do most of your Linux work inside Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your turn
&lt;/h2&gt;

&lt;p&gt;If your employer runs Defender on your Linux machine, do you want to know it is there, and what would you want admins to tell developers before it is rolled out? And if you have tried the preview, what broke first?&lt;/p&gt;




&lt;p&gt;Originally published on &lt;a href="https://www.windowsmode.com/microsoft-defender-for-endpoint-adds-linux-desktop-support-what-windows-admins-need-to-know/" rel="noopener noreferrer"&gt;WindowsMode&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>security</category>
      <category>linux</category>
      <category>devops</category>
      <category>sysadmin</category>
    </item>
    <item>
      <title>Before You Pipe Microsoft's One-Line Dev Box Setup into iex, Read What It Changes</title>
      <dc:creator>Windows Mode</dc:creator>
      <pubDate>Wed, 28 Oct 2026 08:06:20 +0000</pubDate>
      <link>https://dev.to/windowsmode/before-you-pipe-microsofts-one-line-dev-box-setup-into-iex-read-what-it-changes-27km</link>
      <guid>https://dev.to/windowsmode/before-you-pipe-microsofts-one-line-dev-box-setup-into-iex-read-what-it-changes-27km</guid>
      <description>&lt;p&gt;At Build 2026 Microsoft announced two things that matter if you set up Windows machines for coding: &lt;strong&gt;Windows Developer Configurations&lt;/strong&gt;, a one-command setup for a fresh dev box, and &lt;strong&gt;Coreutils for Windows&lt;/strong&gt;, native builds of &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;cp&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt; and friends. Both were announced as generally available.&lt;/p&gt;

&lt;p&gt;The setup is one line of PowerShell piped into &lt;code&gt;iex&lt;/code&gt;. That is convenient, and it is also exactly the kind of command you should read before running on a machine you care about. So we read the repo docs and the scripts. Here is what actually happens, what changes on your machine, and the parts that could surprise you.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;irm https://aka.ms/devconfig/standard/setup.ps1 | iex&lt;/code&gt; installs about 18 packages with winget, changes Explorer, Start, search and theme settings, installs WSL with Ubuntu, and may restart your PC once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standard&lt;/strong&gt; runs the bootstrap with &lt;code&gt;-Action Partial&lt;/code&gt;. &lt;strong&gt;Full&lt;/strong&gt; runs &lt;code&gt;-Action Full&lt;/code&gt; and adds Developer Mode, Sudo, widgets off, two Edge policies and Remote Desktop.&lt;/li&gt;
&lt;li&gt;The scripts verify Microsoft Authenticode signatures on everything they download, but &lt;code&gt;irm | iex&lt;/code&gt; itself does not verify the small wrapper script. You can check it yourself first.&lt;/li&gt;
&lt;li&gt;The uninstall script &lt;strong&gt;permanently deletes the Ubuntu distro&lt;/strong&gt; without asking, and it removes the tools it manages even if you had them installed before.&lt;/li&gt;
&lt;li&gt;Coreutils for Windows installs with &lt;code&gt;winget install Microsoft.Coreutils&lt;/code&gt;. In PowerShell several commands clash with built-in aliases, which matters for scripts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The one-liners
&lt;/h2&gt;

&lt;p&gt;From the &lt;a href="https://github.com/microsoft/WindowsDeveloperConfig" rel="noopener noreferrer"&gt;WindowsDeveloperConfig repo&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Standard experience&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://aka.ms/devconfig/standard/setup.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Full experience&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://aka.ms/devconfig/full/setup.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Uninstall (covers both)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://aka.ms/devconfig/standard/uninstall.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The aka.ms links redirect to &lt;code&gt;setup-standard.ps1&lt;/code&gt;, &lt;code&gt;setup-full.ps1&lt;/code&gt; and &lt;code&gt;uninstall.ps1&lt;/code&gt; in the repo. Each wrapper is about 20 lines. It downloads &lt;code&gt;bootstrap.ps1&lt;/code&gt; from a &lt;strong&gt;pinned commit&lt;/strong&gt;, checks that the signer is Microsoft Corporation, and only then runs it with &lt;code&gt;-Action Partial&lt;/code&gt;, &lt;code&gt;-Action Full&lt;/code&gt; or &lt;code&gt;-Action Uninstall&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The repo is honest about the gap: "&lt;code&gt;irm | iex&lt;/code&gt; does not verify the wrapper's own signature; it trusts the HTTPS endpoint." If you want to check the entry script too, download it and look before you run anything:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$f&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;TEMP&lt;/span&gt;&lt;span class="s2"&gt;\setup-standard.ps1"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Invoke-WebRequest&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://aka.ms/devconfig/standard/setup.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-OutFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$f&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Get-AuthenticodeSignature&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$f&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Format-List&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Status&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;SignerCertificate&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;notepad&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$f&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is short enough to read in a minute, and it is a good habit for any &lt;code&gt;irm | iex&lt;/code&gt; install, not just this one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What gets installed
&lt;/h2&gt;

&lt;p&gt;The Standard setup installs these with winget:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Packages&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Shell and terminal&lt;/td&gt;
&lt;td&gt;Windows Terminal, Intelligent Terminal, PowerShell 7, Oh My Posh&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Source control&lt;/td&gt;
&lt;td&gt;Git, GitHub CLI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Editors and AI&lt;/td&gt;
&lt;td&gt;VS Code, GitHub Copilot CLI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Runtimes&lt;/td&gt;
&lt;td&gt;.NET SDK 10, Python 3.14 + uv, Node.js LTS + nvm for Windows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloud&lt;/td&gt;
&lt;td&gt;Azure CLI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Utilities&lt;/td&gt;
&lt;td&gt;Coreutils for Windows, Windows App CLI, PowerToys, Visual C++ Redistributable&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;It then sets PowerShell 7 as the default Terminal profile, installs Cascadia Code NF and Cascadia Mono NF for all users, adds a GitHub Copilot profile to the Terminal dropdown, and installs WSL plus Ubuntu with &lt;code&gt;wsl --install -d Ubuntu --no-launch&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Practical numbers from the docs: roughly &lt;strong&gt;30 minutes&lt;/strong&gt; on a clean machine, about &lt;strong&gt;15 GB&lt;/strong&gt; of free disk space, &lt;strong&gt;up to two UAC prompts&lt;/strong&gt;, and Windows 11 only. Windows 10 is not supported.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it changes on your machine
&lt;/h2&gt;

&lt;p&gt;This is the part worth reading twice. Some highlights from the documented registry changes and the "Known limitations" table:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Explorer:&lt;/strong&gt; file extensions and hidden files shown, full path in the title bar, Explorer opens to This PC, no recent or frequent items in Quick Access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start and search:&lt;/strong&gt; no web results in search, no Start recommendations, no search highlights.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notifications:&lt;/strong&gt; Do Not Disturb is turned on &lt;strong&gt;globally&lt;/strong&gt;, not just for quiet hours, until you turn it back off.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Theme:&lt;/strong&gt; dark mode for apps and the system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long paths:&lt;/strong&gt; &lt;code&gt;LongPathsEnabled&lt;/code&gt; set to &lt;code&gt;1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node:&lt;/strong&gt; both Node.js LTS and nvm for Windows get installed. The docs suggest uninstalling Node.js first if you want nvm to own the PATH entry.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your PowerShell profile:&lt;/strong&gt; an Oh My Posh block is added to &lt;code&gt;$PROFILE&lt;/code&gt;. If the profile already has other initialization, setup leaves it alone and flags it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Terminal settings:&lt;/strong&gt; &lt;code&gt;settings.json&lt;/code&gt; is round-tripped through JSON, so &lt;strong&gt;comments are lost&lt;/strong&gt;. A &lt;code&gt;settings.json.bak&lt;/code&gt; is written first.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;strong&gt;Full&lt;/strong&gt; setup adds more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer Mode and Sudo (inline mode).&lt;/li&gt;
&lt;li&gt;Widgets turned off through policy.&lt;/li&gt;
&lt;li&gt;Two Edge settings written as policy, so Edge will say it is "managed by your organization".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote Desktop allowed&lt;/strong&gt; (&lt;code&gt;fDenyTSConnections&lt;/code&gt; set to &lt;code&gt;0&lt;/code&gt;). The docs note the firewall rule is not opened, but it is still a change to the machine's security posture.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What it does &lt;strong&gt;not&lt;/strong&gt; do, per the docs: no telemetry, no sign-ins, no credential changes, no Windows Defender changes. Git and the GitHub CLI are installed but not configured, so you still need &lt;code&gt;git config user.name&lt;/code&gt; and &lt;code&gt;gh auth login&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;There is also no dry run (&lt;code&gt;-WhatIf&lt;/code&gt;) and no switch to skip individual packages. If you want a different package list, the documented path is to clone the repo, edit the files under &lt;code&gt;src\windows-dev-config&lt;/code&gt;, and run the unsigned source with &lt;code&gt;-AllowUnsigned&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The restart and the uninstall
&lt;/h2&gt;

&lt;p&gt;WSL needs virtualization, so setup may restart the machine. It warns you and &lt;strong&gt;restarts after 10 seconds&lt;/strong&gt;, so save your work before you start. A scheduled task called &lt;code&gt;WindowsDevConfigResume&lt;/code&gt; picks the run up after you sign back in. If nothing happens:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Get-ScheduledTask&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-TaskName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;WindowsDevConfigResume&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Re-running the original one-liner is safe. Steps that are already done report &lt;code&gt;already OK&lt;/code&gt; and are skipped. Logs go to &lt;code&gt;devconfig-log.txt&lt;/code&gt; under &lt;code&gt;%ProgramData%\CalmOS&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The uninstall deserves a warning of its own. According to the docs it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Permanently deletes Ubuntu and its files&lt;/strong&gt;, without confirmation.&lt;/li&gt;
&lt;li&gt;Removes the tools it manages, including copies you had installed before running setup.&lt;/li&gt;
&lt;li&gt;Resets settings to defaults rather than restoring what you had before (themes go back to light, for example).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have real work inside that Ubuntu distro, export it first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;wsl&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;--export&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Ubuntu&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;D:\backup\ubuntu.tar&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Coreutils for Windows
&lt;/h2&gt;

&lt;p&gt;Coreutils for Windows is a Microsoft-maintained build of the Rust &lt;a href="https://github.com/uutils/coreutils" rel="noopener noreferrer"&gt;uutils&lt;/a&gt; projects (coreutils, findutils and grep), shipped as one multi-call binary. It is MIT licensed and has x64 and ARM64 builds. The current release at the time of writing is &lt;code&gt;v2026.9.3&lt;/code&gt;. The Standard setup installs it, or you can install it alone:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;winget&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Microsoft.Coreutils&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then the usual pipelines work in CMD and PowerShell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;grep&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-rn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"TODO"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;wc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-l&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;find&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"*.log"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-mtime&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;7&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A few things we would want to know before relying on it in scripts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PowerShell 7.4 or later is required&lt;/strong&gt;, and 7.6 or later is recommended for &lt;code&gt;~&lt;/code&gt; support.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alias clashes.&lt;/strong&gt; In PowerShell, &lt;code&gt;cat&lt;/code&gt;, &lt;code&gt;cp&lt;/code&gt;, &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;mv&lt;/code&gt;, &lt;code&gt;pwd&lt;/code&gt;, &lt;code&gt;rm&lt;/code&gt;, &lt;code&gt;sleep&lt;/code&gt;, &lt;code&gt;sort&lt;/code&gt;, &lt;code&gt;tee&lt;/code&gt; and others share names with built-in aliases. The installer hooks into PSReadLine to rewrite what you type interactively, but it does not remove the aliases. Check what a name resolves to with &lt;code&gt;Get-Command ls -All&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Some commands are not shipped&lt;/strong&gt; because they clash with Windows built-ins or need POSIX features: &lt;code&gt;dir&lt;/code&gt;, &lt;code&gt;more&lt;/code&gt;, &lt;code&gt;whoami&lt;/code&gt;, &lt;code&gt;kill&lt;/code&gt; and &lt;code&gt;timeout&lt;/code&gt; among them. &lt;code&gt;chmod&lt;/code&gt;, &lt;code&gt;chown&lt;/code&gt; and &lt;code&gt;uname&lt;/code&gt; are dropped too.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No &lt;code&gt;/dev/null&lt;/code&gt;.&lt;/strong&gt; Use &lt;code&gt;NUL&lt;/code&gt;, as in &lt;code&gt;find . -name "*.log" &amp;gt; NUL&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CRLF line endings&lt;/strong&gt; can still trip byte-oriented tools like &lt;code&gt;uniq&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;You can turn off individual utilities with &lt;code&gt;coreutils-manager disable &amp;lt;utility name&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One detail that may confuse you: the Build blog calls Coreutils generally available, but the repo README still says "This project is in preview." Treat it like any young tool and test your scripts before switching a team over.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our take
&lt;/h2&gt;

&lt;p&gt;For a brand new machine or a throwaway VM, the Standard setup is a sensible default, and the signing and pinned-commit design is better than most &lt;code&gt;irm | iex&lt;/code&gt; installers. On a machine you already use every day, we would read the settings list first, skip Full unless you actually want Remote Desktop and Edge policies, and back up WSL before you ever touch the uninstall script.&lt;/p&gt;

&lt;p&gt;Have you tried Windows Developer Config or Coreutils for Windows on a real machine yet? Did it save you time, or did it change something you had to undo? And would you trust a one-line setup script on your main dev box, or only on a fresh VM?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;We first wrote about the Build 2026 developer announcements on &lt;a href="https://www.windowsmode.com/build-2026-improving-windows-as-the-trusted-platform-for-development/" rel="noopener noreferrer"&gt;Windows Mode&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>windows</category>
      <category>powershell</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Your Agent Should Not Run as You: What Windows Now Offers for Containing AI Agents</title>
      <dc:creator>Windows Mode</dc:creator>
      <pubDate>Wed, 21 Oct 2026 08:05:59 +0000</pubDate>
      <link>https://dev.to/windowsmode/your-agent-should-not-run-as-you-what-windows-now-offers-for-containing-ai-agents-1g0j</link>
      <guid>https://dev.to/windowsmode/your-agent-should-not-run-as-you-what-windows-now-offers-for-containing-ai-agents-1g0j</guid>
      <description>&lt;p&gt;If you run a coding agent on Windows today, its shell commands usually run with your full user rights: your SSH keys, your browser profile, your whole home folder. Microsoft is now putting OS-level boundaries around agents, and a lot of it lands on the developer side first.&lt;/p&gt;

&lt;p&gt;We spent some time reading the official docs, the SDK repo and the Microsoft blog posts behind this. Below is our take on what it means if you build or run agents on Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Microsoft Execution Containers (MXC)&lt;/strong&gt; is an open-source SDK (Rust, .NET, Node) that runs agent workloads inside a policy you define: files, network, UI and the process itself. Microsoft announced it as generally available on 7 October 2026.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backends differ.&lt;/strong&gt; Process containers are lightweight. Session containers run the agent under a separate Windows account and session. There are also WSL containers and an experimental MicroVM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Some agents already use it.&lt;/strong&gt; GitHub Copilot sandboxes shell commands and local MCP servers with MXC, and you can configure it with &lt;code&gt;/sandbox&lt;/code&gt; in the Copilot CLI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The agent workspace&lt;/strong&gt; (Settings &amp;gt; System &amp;gt; AI Components &amp;gt; Experimental agentic features) is a separate preview feature that gives agents like Copilot Actions their own account and desktop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP on Windows&lt;/strong&gt; has an on-device registry (&lt;code&gt;odr.exe&lt;/code&gt;) that runs packaged MCP servers in a contained agent session by default. This is still preview.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Still coming:&lt;/strong&gt; Intune policy for MXC process containers, Entra-based agent identity and Agent 365 controls for local agents.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The problem in one example
&lt;/h2&gt;

&lt;p&gt;Microsoft's own example is a good one. A coding agent is asked to update a website. It needs read and write access to the repo and your build tools. It may need to &lt;em&gt;read&lt;/em&gt; the production server config to understand the deployment. It should never &lt;em&gt;change&lt;/em&gt; that config.&lt;/p&gt;

&lt;p&gt;Without a boundary, the agent may decide that editing the config is the fastest way to finish the task. From the model's point of view that is reasonable. From yours it is an outage.&lt;/p&gt;

&lt;p&gt;The core idea in the &lt;a href="https://blogs.windows.com/windowsdeveloper/2026/10/07/microsoft-execution-containers-policy-driven-containment-for-ai-agents/" rel="noopener noreferrer"&gt;MXC announcement&lt;/a&gt; is that "an agent cannot be its own security authority." The policy lives outside the agent, so neither the model nor the code it writes can grant itself more access.&lt;/p&gt;

&lt;h2&gt;
  
  
  What MXC actually is
&lt;/h2&gt;

&lt;p&gt;MXC is a library you build into your app or agent harness. You describe the container and its rules, and MXC picks a backend and launches the workload inside it. It covers Windows, Linux and macOS. The &lt;a href="https://github.com/microsoft/mxc" rel="noopener noreferrer"&gt;microsoft/mxc repo&lt;/a&gt; is MIT licensed and publishes SDKs for Rust (&lt;code&gt;mxc-sdk&lt;/code&gt; on crates.io), .NET (&lt;code&gt;Microsoft.Mxc.Sdk&lt;/code&gt; on NuGet) and Node (&lt;code&gt;@microsoft/mxc-sdk&lt;/code&gt; on npm).&lt;/p&gt;

&lt;p&gt;The policy has five areas:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Policy area&lt;/th&gt;
&lt;th&gt;What it controls&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Containment&lt;/td&gt;
&lt;td&gt;Which backend runs the workload&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Process&lt;/td&gt;
&lt;td&gt;Command, arguments, working directory, environment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File system&lt;/td&gt;
&lt;td&gt;Read-write paths, read-only paths, denied paths&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network&lt;/td&gt;
&lt;td&gt;Inbound and outbound access, including loopback to local services&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;User interface&lt;/td&gt;
&lt;td&gt;Access to the desktop, clipboard and display&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is the Node sample from the repo README. It runs a command with outbound network denied by default:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;spawn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;ContainerRequest&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@microsoft/mxc-sdk/v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ContainerRequest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;node -e "console.log(&lt;/span&gt;&lt;span class="se"&gt;\'&lt;/span&gt;&lt;span class="s1"&gt;hello from container&lt;/span&gt;&lt;span class="se"&gt;\'&lt;/span&gt;&lt;span class="s1"&gt;)"&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;network&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;egress&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;deny&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;timeoutMs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="nx"&gt;_000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;child&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;spawn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Picking a backend
&lt;/h2&gt;

&lt;p&gt;On Windows, the main options are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Process container.&lt;/strong&gt; This is the default and the fast one. On Windows it uses AppContainer. It suits coding agents and model-generated scripts where the inner loop needs to stay quick.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session container&lt;/strong&gt; (&lt;code&gt;isolation_session&lt;/code&gt; in the SDK). This runs the agent under a separate Windows account and session, with its own desktop, clipboard, UI and input. It is Windows only. It fits long-running agents and UI automation, and it is the backend that gives you a distinct identity to audit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WSL container&lt;/strong&gt; (&lt;code&gt;wslc&lt;/code&gt;). This is for Linux-first toolchains that need Linux packages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MicroVM.&lt;/strong&gt; This uses hardware-backed isolation for higher-risk work like running untrusted code. It is marked experimental, as are the Windows Sandbox and Hyperlight backends in the repo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is a minimum Windows build. Per the repo's &lt;a href="https://github.com/microsoft/mxc/blob/main/docs/backends/process-container/os-version-support.md" rel="noopener noreferrer"&gt;OS version table&lt;/a&gt;, process containers need Windows 11 24H2/25H2 build 26100.9278/26200.9278 (August 2026 update) or later. Session containers need 26100.9550/26200.9550 (September 2026 update). On 26H2, both need 26300.9550. If your CI runners or test VMs lag on updates, check this first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing a policy without guessing
&lt;/h2&gt;

&lt;p&gt;This is the part we found most useful. Nobody knows every path an agent will touch before running it, so MXC has three modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enforcement:&lt;/strong&gt; blocks anything not granted. This is for production.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning:&lt;/strong&gt; still blocks, but records each denial in a JSON activity report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permissive:&lt;/strong&gt; allows everything and records what &lt;em&gt;would&lt;/em&gt; have been blocked.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The activity report only works with process containers on Windows. Microsoft's guidance matches what we would do anyway: run in Learning mode, read the denials, and grant only what the workload really needs.&lt;/p&gt;

&lt;p&gt;Two things to watch. First, the README warns that the &lt;code&gt;--audit&lt;/code&gt; flag on the &lt;code&gt;wxc-exec.exe&lt;/code&gt; test executor "turns off all sandbox security" for that run, so never use it on untrusted code. Second, the README says it plainly: "Your application will hit access issues when running in a sandbox, until you've had time to tune your containment rules." Expect a few rounds of tuning.&lt;/p&gt;

&lt;p&gt;Microsoft also asks agent developers to plan for organisation policy that is &lt;em&gt;stricter&lt;/em&gt; than yours. If a resource is blocked, the agent should explain that and ask for the right access, not fail silently. That is a UX requirement worth building in now.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you already use GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://commandline.microsoft.com/local-models-sandboxed-tools-github-windows/" rel="noopener noreferrer"&gt;GitHub and Windows post&lt;/a&gt; explains how Copilot uses MXC. On Windows it uses the BaseContainer tier of the ProcessContainer backend. With sandboxing on, shell commands, local MCP servers and language servers run inside the process boundary by default.&lt;/p&gt;

&lt;p&gt;Two caveats matter for threat modelling:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copilot's &lt;strong&gt;built-in file tools&lt;/strong&gt; run inside Copilot itself. They are checked against the policy by the agent harness, not by OS process isolation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote MCP servers&lt;/strong&gt; sit outside the local sandbox.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To check or change your settings, run &lt;code&gt;/sandbox&lt;/code&gt; in the Copilot CLI. In the Copilot app, open settings with the gear icon, pick your project and turn on &lt;strong&gt;Sandbox new sessions&lt;/strong&gt;. By default the working directory is read-write and most of the rest of the system is read-only or blocked.&lt;/p&gt;

&lt;p&gt;Microsoft lists OpenClaw, OpenAI Codex, Replit, LM Studio and Unsloth AI as also supporting MXC. Claude Code, Manus, Perplexity, Raycast and others "will be releasing support", with no dates given.&lt;/p&gt;

&lt;h2&gt;
  
  
  The agent workspace is a different thing
&lt;/h2&gt;

&lt;p&gt;It is easy to mix these up. The &lt;strong&gt;agent workspace&lt;/strong&gt; comes from the Experimental agentic features setting, which is used by Copilot Actions. According to &lt;a href="https://support.microsoft.com/en-us/windows/ai/ai-features/experimental-agentic-features" rel="noopener noreferrer"&gt;Microsoft Support&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is off by default. Only an admin can turn it on, and then it is on for every user on the device.&lt;/li&gt;
&lt;li&gt;It creates separate &lt;strong&gt;agent accounts&lt;/strong&gt; and an &lt;strong&gt;agent workspace&lt;/strong&gt; with its own desktop, apart from the user's session.&lt;/li&gt;
&lt;li&gt;Agents can request access to six known folders: Documents, Downloads, Desktop, Music, Pictures and Videos. Agent accounts can also access any folder that all authenticated users can access, such as public user profiles.&lt;/li&gt;
&lt;li&gt;On preview builds 26100.7344 and later, you can set file access per agent under &lt;strong&gt;Settings &amp;gt; System &amp;gt; AI Components &amp;gt; Agents&lt;/strong&gt;, with the options Allow always, Ask every time or Never allow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One small trap: the &lt;a href="https://learn.microsoft.com/en-us/windows/security/book/operating-system-agentic-security" rel="noopener noreferrer"&gt;Windows security book&lt;/a&gt; shows the toggle under an extra &lt;strong&gt;Agent tools&lt;/strong&gt; level. Microsoft's own pages show both paths, so search Settings for "agentic" if you cannot find it on your build.&lt;/p&gt;

&lt;h2&gt;
  
  
  MCP servers and the on-device registry
&lt;/h2&gt;

&lt;p&gt;If you ship an MCP server, this part is for you. &lt;a href="https://learn.microsoft.com/en-us/windows/ai/mcp/overview" rel="noopener noreferrer"&gt;MCP on Windows&lt;/a&gt; adds the Windows On-Device Agent Registry (ODR). Agents use it to discover MCP servers, and you can inspect it from a terminal on build 26220.7262 or later:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;odr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;mcp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;list&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;odr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;mcp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;path-to-mcpb-manifest-json&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;odr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;mcp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;remove&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;server-id&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;a href="https://learn.microsoft.com/en-us/windows/ai/mcp/servers/mcp-containment" rel="noopener noreferrer"&gt;containment docs&lt;/a&gt; have details that are easy to miss:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Packaged servers registered through ODR run in a separate agent session under a separate agent account. They have no access to your files, settings, credentials or windows unless you grant it.&lt;/li&gt;
&lt;li&gt;To run contained, a server must be a binary &lt;code&gt;.exe&lt;/code&gt; with package identity (MSIX) and a valid manifest. &lt;strong&gt;MCP bundles (&lt;code&gt;.mcpb&lt;/code&gt;) currently cannot run contained.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A contained server &lt;strong&gt;can still reach the internet&lt;/strong&gt;. Containment here limits local access, not network access.&lt;/li&gt;
&lt;li&gt;File permissions are granted &lt;strong&gt;per host app, not per server&lt;/strong&gt;. If one server used by a host gets access to your files, every server used by that host gets it too.&lt;/li&gt;
&lt;li&gt;The "Reduce protections for agent connectors" setting (Settings &amp;gt; System &amp;gt; Advanced &amp;gt; AI components) exists for testing. It does what the name says.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Like the agent workspace, all of this is labelled pre-release.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is still missing
&lt;/h2&gt;

&lt;p&gt;To be fair about the gaps: per Microsoft, Intune policy for MXC process containers is "soon". Entra support for telling agent activity apart from user activity is "coming soon", and so are Agent 365 controls for on-device agents. If you run agents across a fleet today, you can contain them, but central governance is not fully there yet. For now, plan a pilot rather than a full rollout.&lt;/p&gt;

&lt;h2&gt;
  
  
  Over to you
&lt;/h2&gt;

&lt;p&gt;How are you sandboxing agents on Windows today: a VM, WSL, Windows Sandbox, a separate user account, or nothing at all? And would you add MXC to your own agent harness, or wait until Intune and Entra support land? Tell us what your setup looks like in the comments.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;We first wrote about this on &lt;a href="https://www.windowsmode.com/windows-security-for-ai-agents/" rel="noopener noreferrer"&gt;Windows Mode&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>windows</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Alt+Space Is Our Start Menu Now: A Keyboard-First Windows Dev Setup with Flow Launcher</title>
      <dc:creator>Windows Mode</dc:creator>
      <pubDate>Sun, 18 Oct 2026 13:11:55 +0000</pubDate>
      <link>https://dev.to/windowsmode/altspace-is-our-start-menu-now-a-keyboard-first-windows-dev-setup-with-flow-launcher-5h9p</link>
      <guid>https://dev.to/windowsmode/altspace-is-our-start-menu-now-a-keyboard-first-windows-dev-setup-with-flow-launcher-5h9p</guid>
      <description>&lt;p&gt;Most of our day happens in a terminal, an editor and a browser. The slowest part was everything in between: digging through the Start menu, clicking into File Explorer to find a config file, opening a browser tab just to search GitHub.&lt;/p&gt;

&lt;p&gt;We fixed most of that with one tool: &lt;a href="https://github.com/Flow-Launcher/Flow.Launcher" rel="noopener noreferrer"&gt;Flow Launcher&lt;/a&gt;. It is a free, MIT licensed launcher for Windows 10 and 11. You press a hotkey, type, and press Enter. This is how we set it up for development work, and the habits that stuck.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install it in one line
&lt;/h2&gt;

&lt;p&gt;If you already use a package manager, pick one:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;winget&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Flow-Launcher.Flow-Launcher&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;scoop&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Flow-Launcher&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;choco&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Flow-Launcher&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The project README also lists &lt;code&gt;winget install "Flow Launcher"&lt;/code&gt;. We prefer the full package ID because it is exact and works well in setup scripts.&lt;/p&gt;

&lt;p&gt;There is a normal installer and a portable zip on the &lt;a href="https://github.com/Flow-Launcher/Flow.Launcher/releases" rel="noopener noreferrer"&gt;GitHub releases page&lt;/a&gt; too. Only download from there or flowlauncher.com. Windows may show a SmartScreen warning on first install, and the README mentions this. If you got the file from the official repo, it is fine to continue.&lt;/p&gt;

&lt;p&gt;Once installed, press &lt;strong&gt;Alt+Space&lt;/strong&gt;. That is the default hotkey, and you can change it in Settings (&lt;strong&gt;Ctrl+I&lt;/strong&gt; from the search window). We also turned on "start with Windows" straight away.&lt;/p&gt;

&lt;h2&gt;
  
  
  The built-in keywords worth learning
&lt;/h2&gt;

&lt;p&gt;Flow is plugin based. Most core plugins answer with no prefix at all, so you can just type an app name. A few use an action keyword, and those are the ones that make it feel like a dev tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run shell commands with &lt;code&gt;&amp;gt;&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; git status
&amp;gt; code .
&amp;gt; wsl --list --verbose
&amp;gt; ipconfig /flushdns
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Press &lt;strong&gt;Enter&lt;/strong&gt; to run. Press &lt;strong&gt;Ctrl+Shift+Enter&lt;/strong&gt; to run it as administrator, which saves opening an elevated terminal for one command. You can choose which shell it uses (cmd or PowerShell) in the Shell plugin settings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Search the web by keyword
&lt;/h3&gt;

&lt;p&gt;The Web Searches plugin ships with keywords for common sites. These are the ones we use every day:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;github flow launcher plugin
stackoverflow powershell splatting
gist dotfiles
wiki utf-8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Plain text with no keyword falls back to Google by default, which you can change. You can also add your own searches. We added one for MDN and one for our internal docs by giving each a URL with &lt;code&gt;{q}&lt;/code&gt; in it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Find files and file contents
&lt;/h3&gt;

&lt;p&gt;The Explorer plugin handles files and folders. Typing a path like &lt;code&gt;C:\dev\&lt;/code&gt; lets you browse into folders from the search box. &lt;code&gt;doc:&lt;/code&gt; searches inside file contents instead of file names:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doc: connectionString
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Small things that add up
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;b react docs        # browser bookmarks
s environment       # Windows settings, e.g. "Edit environment variables"
kill node           # end a stuck process
128*1024            # calculator, Enter copies the result
?                   # list every plugin's action keyword
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;kill node&lt;/code&gt; alone has saved us a lot of trips to Task Manager when a dev server will not let go of a port.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make file search fast with Everything
&lt;/h2&gt;

&lt;p&gt;Out of the box, file search uses the Windows Search index. It works, but it skips folders and it is slow on big repos. Flow can use &lt;a href="https://www.voidtools.com/" rel="noopener noreferrer"&gt;Everything&lt;/a&gt; from voidtools instead, which indexes every file name on NTFS drives and returns results almost instantly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;winget&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;voidtools.Everything&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open Settings, go to the Explorer plugin and switch the search engine to Everything. If Everything is not running, Flow shows a warning result in file searches, and selecting it can install Everything for you.&lt;/p&gt;

&lt;p&gt;After switching, searching for &lt;code&gt;appsettings.Development.json&lt;/code&gt; across a dozen repos takes no time at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install plugins from the search box
&lt;/h2&gt;

&lt;p&gt;This is the part we like most. The plugin manager is a plugin itself, with the keyword &lt;code&gt;pm&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pm install github
pm install window walker
pm update
pm uninstall &amp;lt;name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There is also a visual Plugin Store in Settings if you want to browse first. Plugins can be written in C#, F#, Python or JavaScript. If something you need is missing, writing your own is a real option.&lt;/p&gt;

&lt;p&gt;Some community plugins listed in the official README that fit dev work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub&lt;/strong&gt;: search repos, issues and pull requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Window Walker&lt;/strong&gt;: switch between open windows by typing their title. This is great with many terminal and editor windows open.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clipboard+&lt;/strong&gt;: clipboard history inside Flow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Colors&lt;/strong&gt;: preview and convert color codes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We keep the list short. Every plugin adds results, and too many makes the top result less predictable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shortcuts we use without thinking
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Keys&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Alt+Space&lt;/td&gt;
&lt;td&gt;Open Flow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enter&lt;/td&gt;
&lt;td&gt;Run the top result&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl+Enter&lt;/td&gt;
&lt;td&gt;Open the containing folder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl+Shift+Enter&lt;/td&gt;
&lt;td&gt;Run as administrator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl+Shift+C&lt;/td&gt;
&lt;td&gt;Copy the file or folder path&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F1&lt;/td&gt;
&lt;td&gt;Toggle the preview panel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl+I&lt;/td&gt;
&lt;td&gt;Open settings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl+F12&lt;/td&gt;
&lt;td&gt;Toggle Game Mode (pauses the hotkey)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The preview panel is underrated. Press F1 on a markdown or text file and you get a highlighted preview, so you can check it is the right &lt;code&gt;README.md&lt;/code&gt; before opening it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips we actually use
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pin your projects folder.&lt;/strong&gt; Typing &lt;code&gt;C:\dev\&lt;/code&gt; and then the repo name, then &lt;strong&gt;Ctrl+Enter&lt;/strong&gt;, opens the folder in Explorer. A &lt;code&gt;&amp;gt; code C:\dev\repo&lt;/code&gt; command opens it in VS Code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lean on fuzzy matching.&lt;/strong&gt; You rarely need to type a full app name; a few letters or an acronym is usually enough.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use Dialog Jump.&lt;/strong&gt; In an Open or Save As dialog, &lt;strong&gt;Alt+G&lt;/strong&gt; jumps to the folder that is open in your file manager. No more navigating the dialog by hand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set plugin priority.&lt;/strong&gt; If Bookmarks keeps beating Programs for a name, raise the priority of the plugin you want in Settings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Know where your settings live.&lt;/strong&gt; Type &lt;code&gt;flow user data&lt;/code&gt; to open the settings folder (&lt;code&gt;%APPDATA%\FlowLauncher&lt;/code&gt; for a normal install). Back it up with your dotfiles.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we would change
&lt;/h2&gt;

&lt;p&gt;Flow is not perfect. The first run feels busy until you trim plugins, and the default Windows Search index makes file search seem worse than it is. Five minutes in Settings fixes both. Alt+Space can also clash with the window menu in some apps, so pick another hotkey if that bothers you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Over to you
&lt;/h2&gt;

&lt;p&gt;What is the one launcher keyword or plugin you use every day? If you run Flow, PowerToys Run or something else, we would love to hear what your setup looks like in the comments.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;We first wrote about Flow Launcher on &lt;a href="https://www.windowsmode.com/flow-launcher-for-windows/" rel="noopener noreferrer"&gt;Windows Mode&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>windows</category>
      <category>productivity</category>
      <category>tooling</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
