Chain of Thought - M365 Copilot
A year of designing how Copilot's agents reason out loud
Chain of Thought (CoT) is what an AI agent shows you while it's working: what it's reading, why, and what it found. After Researcher launched, I owned that surface for Researcher and first-party agents. Over the following year it went from one agent's plain-text stream to a reasoning pattern shared across Microsoft 365 Copilot, and one that users can now interrupt and redirect.
Three releases from that work reached worldwide: Unified CoT in Researcher in March 2026, Researcher with Computer Use in Frontier in April 2026, and Planning & Steering in September 2026.
1.0
The context
Researcher shipped in May 2025 with a CoT that did its job and not much more. It was plain text, with two orchestration layers writing into one stream, and it couldn't show the internal documents or code the model was using as it built the report. We'd launched fast. Now we needed a reasoning view with a visually traceable schema that could show Graph data at different levels of detail.
Inside Microsoft, CoT had stopped being Researcher's problem alone. Analyst, Deep Work, mainline Copilot, and third-party agents all needed a reasoning display, and teams were asking to adopt Researcher's patterns.
Left alone, Copilot would have ended up with five different ways of thinking out loud.
2.0
My role
I owned Chain of Thought for Researcher and first-party agent experiences from June 2025. The work ran from Researcher's own CoT, through the Unified CoT effort across Copilot and 1P agents, to Computer Use, CUA Intranet, and Steering & Interrupt.
Along the way I became the person other 1P Agents designers and Copilot workstreams pulled in on reasoning patterns.
3.0
The challenges
The year breaks into three acts and an encore. The first two carried most of the weight.
Act 1. Richer
The first job was making Researcher's reasoning carry real content without drowning people in it.
I kept pushing an idea from the original vision work: contextual information as pills, glanceable tokens for sources, tools, and models that you could read in a second and expand if you cared. The hard part wasn't the pill. It was distribution. Reasoning generates a lot of signal, and the design problem was organizing it so a person could follow the thread without reading everything.
Then there was the debate that ran all year: expanded or collapsed by default. I'd argued for discrete from the start, and the research came down on that side. Every participant said they'd check CoT early to build trust, but in daily use they'd move on:
> "It's just a feel-good thing to show me how many sources it's going through. I would go to another tab while this is running."
Collapsed by default, inspectable on demand, became the baseline, though the platform team was still testing exceptions a year later when collapsed showed regressions in some markets.
Through all of it, staying connected to partner teams was half the job. CoT had become a top interest for several Copilot workstreams, and keeping Researcher's direction visible to them mattered as much as the pixels.
Act 2. Unified
Researcher was being positioned as a flagship experience that should run inside mainline Copilot, not only as a separate agent. That changed what our CoT had to be. It couldn't be Researcher-shaped anymore. It had to handle lightweight reasoning, a few steps for a quick answer, and deep reasoning, a long multi-phase run, in one component.
I was part of the core design group behind the joint Unified CoT effort, with an explicit goal: converge Researcher, Analyst, and Mainline on a common control instead of maintaining divergent experiences.
My part in that alignment work was four things:
- I maintained the Researcher-focused CoT spec and contributed components that were pulled into the broader work; Researcher had the richest CoT and the hardest edge cases, and those edge cases, multi-turn and agent-to-agent handoffs, became the blockers the unified team had to design through.
- I partnered with Fluent (design system’s team) to replace bespoke Researcher UX with shared design-system primitives.
- I reconciled mainline implementation patterns with Researcher's, including rethinking the right-pane anchoring when it didn't fit a non-deterministic stream.
- I helped establish the interaction model that could scale beyond Researcher: one step visible by default, expandable to the full reasoning history. Simple enough for a quick answer, deep enough for a thirty-minute run.
By March 2026, Researcher's single-purpose CoT was gone, replaced by the component already shipping across mainline Copilot, Analyst, and every first- and third-party agent.
Act 3. Actionable
From the very first user study in March 2025, people had asked for the same thing:
> "I wish there was a way to pause it when I see the chain of thought is having a different assumption than what I may like so I can change it."
Showing the work had built trust. It hadn't given anyone control. Steering & Interrupt closed that loop, and I was design lead.
The project formalized "Interrupt" as the ability to change the direction of an ongoing deep research report, with three entry points: the Research Plan, the streaming CoT, and the prompt box.
The bigger shift was turning the Plan from a static preview into a control surface. The model distinguished between shaping intent before execution and updating an active plan once research was underway. Crucially, steering was not manually editing individual steps. Your instruction triggered replanning, letting the model recompute the plan around the new direction.
Interrupts were designed to live alongside the streaming CoT and the Research Plan, so a user's intervention became part of the visible execution story rather than a disconnected follow-up prompt.
We also shaped a pragmatic MVP without losing the longer-term model. Inline plan manipulation and parallel research were separated out, while the plan component was designed to anticipate them. That turned out to matter beyond Researcher. Steering established a control model that the Multi-Model Researcher work initially deferred and later needed, and Plan and CoT became an explicit Multi-Model design workstream.
The launch note summed up the point of the whole year:
> "Transparency and control are what earn trust in an agent, and this team delivered both."
Encore
CoT never stopped moving, because competitors never did. Each step forced the next. Richer reasoning made shared reasoning possible, shared reasoning made steering possible, and that chain is part of why Copilot now has Tasks, Cowork, Multi-Model, and Computer Use agents.
4.0
The impact
Unified CoT, worldwide.
Researcher's single-purpose CoT was retired in March 2026 for a component now live across mainline Copilot, Analyst, and all first- and third-party agents. One pattern instead of five, and a reasoning surface every new agent inherits.
Planning & Steering, worldwide.
From dogfood in May 2026 to 100% worldwide on web in September. Researcher went from a one-shot report generator to a partner you can plan with, interrupt, and redirect.
Influence beyond the component
The principles and specs became the written standard engineering built against. Colleagues pulled me in "since you have the most context," partner teams pointed to my files as "the latest designs we have from our designer," and when CoT had to align across Researcher, Deep Work, and Mainline, I was one of four designers in the room. Computer Use reached 100% of Frontier with visual reasoning inside the CoT.










