loading
loading
An API or feature that works as designed but makes it dangerously easy to shoot yourself in the foot.
Not a bug — the behavior is intentional, but the default path leads straight into disaster: a rm -rf with a variable that can be empty, an agent tool with delete permissions and no confirmation, an ORM that silently drops a WHERE clause. The cost lands later, usually in prod. Example: giving an autonomous agent unrestricted shell access is a footgun. Good design removes footguns or wraps them in guardrails.
Plainly
Think of Footgun as a shortcut word builders use while talking fast. An API or feature that works as designed but makes it dangerously easy to shoot yourself in the foot.
In practice
Use it as shared vocabulary, but translate it into concrete code or product risk before deciding. In practice, define the owner, input, output, and failure mode before you rely on it.