HAUSE

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 establishedrequested 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.

SUPPORTED

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.

SUPPORTED

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.

Refusal

Fail-closed rendered as design language, not as an error state.

Variants

Physically present variants of one identity — and a designed refusal for the absent one.

Question

An open question given the same typographic dignity as an answer.

Claim

An assertion that knows it must answer to evidence.

PUBLISHED 31 AUG 2026 · VERSION 1.0

CITE

site 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.