Verified Input
Keyboard event delivery is not the same as application acceptance. Verified input waits for observable application state before the next step proceeds.The transaction
TIMEOUT, REFUSED, and ERROR return non-zero; MCP returns isError:true.
Results expose focused identity plus value length and SHA-256, not typed text,
focused values, selections, or clipboard contents.
Verify one action
--expect-app is a precondition that prevents a write into the wrong
frontmost application. --verify, --expect-value, --wait-focus-change,
--expect-role, and --expect-focus are postconditions.
Execute a multi-step plan
kernel-cli input reads a kernel.input.plan.v1 JSON document:
type, key, and paste. Type/key mode is synthetic
or real; paste uses shortcut or menu.
Focus can be constrained by app, role, subrole, identifier, developer id, or
title. Weak or missing identity is inconclusive, never silently counted as a
focus change. An empty string is a real value only when the platform exposes an
available text/value channel.
Every plan step is strict by default.
allow_unverified:true is an explicit
compatibility escape hatch for a step without a postcondition; its result is
posted, never verified.
Replace sleeps with observable barriers
Clipboard and focus leases
PID, profiles, and handoff
On macOS,type --pid and key --pid can prove event posting to a background
process, but not bind the frontmost accessibility observer to that target.
Strict postconditions with PID targeting are refused before posting. Linux and
Windows refuse --pid rather than silently sending global input.
Profiles can embed the same strict input step and required waits. Before an
agent takes frontmost keyboard control, use --yield or the profile yield
policy for human coordination. The handoff prompt coordinates ownership; the
accessibility postcondition remains the correctness proof.
MCP and computer-use
- MCP
inputaccepts the complete plan underplan. - MCP
type,type_text,paste, andkeyexpose the same verification flags. computer_useroutes type, paste, and key through the same transaction and preserves the outcome underresult.- Capability version 2 advertises
verification.readback; paste and input also advertise clipboard read/write.
What VERIFIED does not mean
Chat Exports
Analyze the artifact after an app-pack export completes.
Commands
See the complete 111-command surface.