P1: Non-Interactive by Default

Definition

Every automation path MUST run without human input. A CLI tool that blocks on an interactive prompt is invisible to an agent: the agent hangs, the user sees nothing, and the operation times out silently.

Why Agents Need It

An agent calling a CLI cannot type. When the tool prompts for a confirmation or a credential, the agent's process stalls until timeout: no tokens recovered, no structured signal that interaction was requested, and no way to distinguish "waiting for input" from "still processing." Interactive prompts in automation paths are a leading cause of agent-tool deadlock.

Requirements

Scope

"Agent" in this specification means a process invoking the CLI as a subprocess. This spec's automated audits verify behavior under non-TTY stdin. TTY-driving agents (tmux panes, ssh -t sandbox shells, expect automation, computer-use desktop agents) are affected by the same MUSTs, but anc currently does not allocate a PTY during verification. Pass verdicts for TTY-driving-agent scenarios are probable-but-not-verified; see /coverage for the gap.

Evidence

Anti-Patterns

Measured by audit IDs p1-non-interactive (behavioral) and p1-non-interactive-source (source) today. Run anc audit --principle 1 . against the CLI under test to see each.