Tinker AI
Read reviews
2026-02-15 Source

Cursor’s 1.1 release added Shadow Workspace — a feature that lets the agent experiment with file changes in a hidden copy of your project before applying anything to your real files. For users worried about agent-mode operations on important work, this addresses a real concern.

What it does

Shadow Workspace creates an in-memory copy of your project (or a relevant subset). Agent operations run against the copy. Build commands, type checks, test runs — all happen in the shadow. The agent observes the results but your real files are unchanged.

When the agent has confirmed a change works (tests pass, build succeeds), it shows you the proposed diff. You decide whether to apply it.

The flow:

  1. You ask the agent to implement a feature
  2. Agent works in Shadow Workspace, iterating until tests pass
  3. Agent presents the final diff
  4. You approve or reject
  5. Approved diffs apply to real files

Why this matters

The previous agent flow had a problem: while the agent iterated, your files changed. If the iterations got messy (which happens with non-trivial tasks), your working copy ended up in a half-broken state. Reverting was annoying. Sometimes you’d lose work.

Shadow Workspace decouples the iteration from your files. The agent can take 20 attempts to get something right; you only see the working version. Your project is never in a broken intermediate state.

This is similar to git’s stash + branching workflows, but automated and integrated.

The implementation

Shadow Workspace is technically interesting:

  • An in-memory virtual filesystem holds the project copy
  • File reads check the shadow first; cache misses fall through to disk
  • File writes go to the shadow only
  • Build/test commands run against the shadow’s view of files
  • Agent’s environment uses the shadow as its working directory

For most operations, this is transparent. The agent sees a normal filesystem. Cursor’s UI shows the difference between shadow state and real files.

There are limits — anything that involves system-level state outside the project (databases, external services) doesn’t get a “shadow.” Tests that hit a real database still hit the real database. The shadow is for project files only.

Use cases that benefit

Long agent sessions on important code. When you’re letting the agent work for 20+ minutes, Shadow Workspace prevents the worst-case “agent broke my code and I can’t recover” outcomes.

Experimentation with risky refactors. Trying a refactor that might be wrong is now cheap. The agent works in shadow; if the result isn’t right, your real files were never touched.

Multiple parallel attempts. You can run multiple agent attempts in parallel in different shadow workspaces, then pick the best result. Cursor’s UI doesn’t fully support this yet but the underlying primitive enables it.

Use cases where it doesn’t help

Tasks involving external state. Database migrations, deploys, API calls to live services — Shadow Workspace doesn’t help here. The agent’s actions affect real systems regardless of file shadow.

Tasks where you want to see incremental progress. Some users prefer to see the agent’s intermediate states (“oh, that’s an interesting first attempt”). Shadow Workspace hides this. You see only the final result.

Tasks where the build can’t be reproduced cleanly. If your build depends on side effects (downloaded artifacts, generated files outside source control), the shadow’s view of the project may not build the same way. Edge cases here.

A practical example

I used Shadow Workspace on a real refactor recently. The task: convert a class-based React component to a hooks-based component while preserving behavior.

The agent went through about 8 attempts internally. Each attempt was a new TypeScript file in the shadow; some compiled, some didn’t; some had test failures. Eventually one attempt passed all tests cleanly.

I saw only the final attempt as a diff. The 7 failed attempts existed only in the shadow; my real component file was never touched. The agent presented the final diff; I reviewed; I accepted.

Without Shadow Workspace, my file would have gone through 8 mid-broken states. Each time the agent failed, I’d have to either revert or hope the next attempt fixed everything. With Shadow Workspace, the experience was clean.

What this signals about agent design

The pattern is generalizable: agents work better when they can experiment safely. Shadow Workspace is one shape of “safe experimentation.” Other shapes include:

  • Sandboxed containers (Cline’s MCP server sandboxes)
  • Worktrees and branches (Aider’s git integration)
  • Separate environments entirely (Devin’s full sandbox)

Each has tradeoffs. Shadow Workspace is lightweight (no external infrastructure) at the cost of being limited to project files. Sandboxed containers are more comprehensive but require more setup.

The trend is clear: agents that can fail without consequence are more useful than agents whose failures cost you. Tool vendors are shipping features along this dimension; expect more in the next year.

Comparison to other tools

Cline: Has plan/act split, which separates thinking from doing. Shadow Workspace is a different shape — actual file changes happen but in a sandboxed view.

Aider: Uses git for “rollback if needed” semantics. Less smooth than Shadow Workspace but built into the workflow.

Windsurf Cascade: Doesn’t have an equivalent feature yet.

Claude Code: Doesn’t have an equivalent. Claude Code’s agent operates on real files directly.

For users who want the safest agent experience, Cursor 1.1 is meaningfully ahead. Whether the safety justifies any other tradeoffs depends on workflow.

Worth using?

For Cursor users running agent mode on important code: yes. The friction of toggling Shadow Workspace is minimal; the safety gain is real.

For Cursor users using mostly Tab and Cmd+K (not agent mode): doesn’t change much. Shadow Workspace is for the agent.

For users on other tools: this is a feature worth wanting. Bring it up with your tool’s vendor. The pattern is reasonable; the implementation is non-trivial but achievable.

What’s next

Cursor has hinted at:

  • Better visualization of shadow vs real state
  • Persistence of shadow state across sessions
  • Multi-shadow workflows (parallel attempts)
  • Integration with Composer’s plan tree

These would extend the safety story further. The 1.1 release is the foundation; the next steps make it more pleasant to use.

For now, Shadow Workspace is one of the more meaningful agent UX improvements I’ve seen ship recently. It addresses a real pain point with a clean implementation. Worth turning on.