
Why Your AI Agent Shouldn't Block When It Needs Human Approval
Your AI agent asks a question. The human is at lunch. What happens next depends on your architecture. And most architectures get this wrong. The Pattern Everyone Uses (and Why It Breaks) agent: "Should I delete the staging database?" human: (at lunch) agent: (blocks) agent: (still blocking) agent: (30 minutes later, still blocking) agent: (timeout, session lost, start over) This is the default in every framework. LangGraph's interrupt() . CrewAI's human_input=True . OpenAI's run pause. They all do the same thing: block and wait . It works in demos. It breaks in production because: Humans aren't instant. They're in meetings. On a plane. Asleep. The agent needs an answer in 5 seconds, the human responds in 5 hours. Connections drop. WebSocket disconnects. SSH session times out. Terminal closes. Approval state is gone. Nobody knows the agent is waiting. No push notification. No email. No reminder. The agent sits there silently burning compute. No escalation. If the assigned reviewer is on
Continue reading on Dev.to Python
Opens in a new tab




