{"version":"2.1.275","anchor":"plugin-test-engine-now-exposes-a-ui-render-client-harness","canonical_anchor":"plugin-test-engine-now-exposes-a-ui-render-client-harness","heading":"New UI-mount test harness for plugin testing","tier":"use","area":"Plugin Testing","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.275\/e\/plugin-test-engine-now-exposes-a-ui-render-client-harness","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.275","markdown":"### New UI-mount test harness for plugin testing\n\nclaude plugin test now includes a scriptable UI harness for mounting and interacting with plugin Client components\n\n**What**\n\n- A new in-process terminal UI test harness lets tests mount plugin 'Client' components and drive them with key, pointer, post, and advance actions, then unmount them, using a virtual clock, without needing a real terminal.\n\n- The plugin-testing engine used by `claude plugin test` now exposes this as a `clients` interface with `record`, `mount`, `act` (covering drawn\/key\/pointer\/post\/advance\/unmount), and `releaseAll` methods. The engine's generic `call()` now feeds `\"ui.render\"` operations into this recorder, and `close()` releases all mounted clients.\n\n**Why**\n\nThis lets plugin authors write automated tests that render and interact with their plugin's terminal UI components directly, instead of only testing non-UI logic.\n\n- Area: Plugin Testing\n- Names: `ui.mount`, `act`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 2\/5"}