INTERFACES THAT CANNOT REFUSE
An honest limit.
Dressed as a fault.
Refusal arrives as a red toast, an apology and a retry — the vocabulary of a fault. So products are built to avoid producing one, and the reliable way to avoid refusing is to guess.
How should an AI interface say that it cannot answer?
As a designed statement, in the same typography as any other result — not as an error. A refusal dressed in red reads as a fault in the product, so teams build to avoid it, and the dependable way to avoid refusing is to invent. HAUSE gives refusal its own form: what was requested, what was actually available, and the principle that closed it. A system that can refuse well has no reason to guess.
01 / HOW YOU MEET IT
A system that cannot say no will guess.
An empty state and a refusal look identical. A confident invention and a real result look identical. The interface has one voice for here is your answer and one voice for something went wrong, and declining on principle fits neither — so it is filed under the nearest available thing, which is red, and users learn that a refusal means the product is broken.
02 / THE RESPONSE, IN YOUR HANDS
A refusal can be the system working.
Explore the forms below. This is the response implemented in HAUSE.
ASK HAUSE, REFUSING — THE REAL ANSWER, NOT A MOCKUP
NO FORM ESTABLISHED
requested a pricing card with a gradient
available 35 semantic forms, each with a name and a job
A form enters HAUSE when a real page needs it — never because a question had a gap.
no form established — requested a pricing card with a gradient; available 35 semantic forms, each with a name and a job. A form enters HAUSE when a real page needs it — never because a question had a gap.
EVIDENCE
A refusal taught a format a primitive it was missing
In vindex3, a closure gate met a model shipping an attention output gate in every one of its 52 layers and refused all 52 by name — required primitive, absent. Not a crash: a named absence. The semantics were then judged from the reference implementation, the primitive entered the IR, and the model closed. A guess would have executed silently and taught nobody anything.
Refusals are a design surface, not an error surface
Refusal is a form in the library, with a kicker, structured request/available lines and the governing principle in editorial voice. Variants renders one inside itself when a reader selects an absent variant — the refusal is part of the instrument, not an interruption of it.
03 / BENEATH THE SURFACE
Why the failure keeps returning.
Error states were designed for failures: the network dropped, the field was invalid, the server fell over. A refusal is not a failure. It is the system working exactly as intended, declining to produce something it cannot stand behind. Nothing in the ordinary vocabulary carries that distinction, and a distinction with no form to hold it does not survive the handoff to implementation.
TAKE THE RESPONSE WITH YOU
Give it a form.
PUBLISHED 31 AUG 2026 · VERSION 1.0
CITEsite build 3ee5339 · built 2026-09-09
CITE THIS
Article · 1.0
Hay, C. (2026). Interfaces that cannot refuse. In HAUSE — the problems (Version 1.0). hause.design. https://hause.design/problems/interfaces-that-cannot-refuse
An argument is a published object: dated, versioned, and referenceable — which is the subject of one of these pages and the practice of all of them.