Beta·every release is a pre-releaseAPIs and harness behavior are still changing·every release until v1 is a pre-release
uzev1.0.0-beta.12
Reference

Harnesses

What each harness receives natively, capability by capability

Every cell here is derived from the integrations themselves: it is the plan an install takes. Start with the overview, open the tab of the harness you use, and expand Compare all harnesses when you need two side by side.

Every harness offers a plugin's agents by the same name, <plugin>:<name> (a subdirectory under agents/ joins it), and receives each agent as a file carrying only the fields that harness reads.

Works nativelyWorks through UZEWorks, with a stated limitNot available

At a glance

HarnessPlugin arrives throughSkillsAgentsMCPHooks
Claude Codeits own plugin + UZE
Codexits own plugin + UZE
OpenCodeUZE
Antigravityits own plugin + UZE

By harness

A plugin reaches Claude Code through a plugin UZE generates from the package, which carries its skills, agents and MCP servers. UZE delivers its hooks beside it, to Claude Code's own native surfaces.

The generated plugin is served from a marketplace UZE manages; a skill the plugin does not cover gets a directory of its own in ~/.claude/skills. Project context arrives through the CLAUDE.md bridge (@AGENTS.md), the only bridge UZE maintains. Hooks merge into Claude Code's own user-scope hook configuration. Its prompt renders every hook denial as a "hook error", even one that worked as intended.

CapabilityHow
Skillsnative
Agentsnative
MCPnative
Skill: person onlynative
Skill: model onlynative
Hooksnative
Project AGENTS.mdread through the CLAUDE.md bridge (@AGENTS.md)
Workspace: resume a relaunched agent

Hooks

  • Runs on: PreToolUse, PostToolUse, Stop, SessionStart (new session), SessionStart (resumed session)
  • Can decide: observe, allow, deny, ask, transform
  • Reaches: shell, file.read, file.write, file.edit, search.files, search.web, agent.spawn
  • Not available here: agent.message

Invoking a plugin's skill: /flow:commit

Measured in the Conformance Lab

AboutFactMeasured on
project agentsreads no ./.agents/agents, and offers an agent linked into an --add-dir target's .claude/agents2.1.291
agentsoffers a plugin's agent as <plugin>:<subdirectories>:<name>2.1.291
agentsruns an agent on the model its harness.claude-code block names2.1.291
pluginsreads a directory-marketplace plugin live from its source; its cache copy drops linked files2.1.283
placeholdersexpands only ${CLAUDE_PLUGIN_ROOT}, so UZE resolves ${PLUGIN_ROOT} itself2.1.291
skillshonours disable-model-invocation and user-invocable2.1.291
hooksruns a delivered SessionStart, PostToolUse and Stop group, each naming its event2.1.291
hooksputs a call a hook answers with permissionDecision: ask to the person, showing the hook's reason, and runs it once approved2.1.291
hooksruns the input a PreToolUse hook hands back as updatedInput beside allow2.1.291

Compare all harnesses

Planned harnesses

HarnessStatus
Cursor CLI planned
Muse planned
PI planned

The shim, and what reaches an agent only inside the workspace, is in Terminal.

On this page