Follow Discord
Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.268 ·

New virtual plugin "surface" bundling/runtime scheme

A new "surface" virtual-module system lets plugin desktop UI code import from special surface:/// and claude: URIs

TierUnder the hoodhow much it should matter to you
Useful3my rating, 1 to 5
Signal4worth watching, 1 to 5
AreaPluginswhat it touches
KindInternal Changesin v2.1.268,
Under the hood No documentation found

A new "surface" virtual-module system lets plugin desktop UI code import from special surface:/// and claude: URIs

What

Claude Code now has a new module-loading scheme for plugin desktop UI components. Plugin source code can import from virtual addresses like surface:///..., surface-unlinked:///computed#..., and virtual modules named claude:hooks-types and claude:surface-runtime. Import statements in plugin source are rewritten to these virtual forms before the plugin code runs inside its sandboxed virtual machine.

Why

This is infrastructure for building plugin UI components, giving plugin code a controlled set of virtual modules to import from rather than reaching into the real filesystem or module system, which fits with running plugin code in a sandbox.

Read from
Names in the bundlesurface:///claude:hooks-typesclaude:surface-runtime
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhat plugin authors can now build with this that they couldn't before is not detailed.

See this entry in the whole of v2.1.268 →

Feedback