ai for designers

Error Recovery

Error recovery is the control surface that turns agent failures into the main interaction loop. When a step dies the surface lights up with the exact failure point pulled from the plan, the raw error message made legible, the current state of every artifact the agent has touched so far, and four or five concrete recovery buttons the user can hit without retyping the original goal. Those buttons cover retry, edit the step parameters then retry, open the relevant file or browser for manual intervention, backtrack to a previous plan step, or package the current state for handoff to another agent or human. The pattern depends on tight integration with the progress stream so the user never loses their place and with the plan surface so failed steps stay visible in context. Agents in 2025 fail on roughly half of all non trivial tool calls. The teams that win are not the ones chasing perfect models. They are the ones that make failure cheap and informative. This surface is where that happens. It is half the product because the happy path is marketing but error recovery is daily use.

Error recovery is not a toast notification with a single retry button and zero context. It is not a full page error screen that erases all progress and forces a complete restart. It is not hidden logging that only appears when you click a tiny icon in the corner. It is not the agent pretending nothing went wrong and barreling forward with corrupted state. It is not the same generic message for a network timeout and a logical contradiction in the user goal. Most products in this space still ship exactly these weak patterns. The result is users who watch the agent for the first three minutes then switch to doing the task manually because they have no idea what broke or how to recover. That behavior kills every autonomy benefit the agent was supposed to deliver.

Bolt showed the industry how to do it right in its late 2024 release. During a complex app build the agent reaches a database migration step that fails due to a schema conflict with existing tables. The error recovery surface splits the screen. Left side shows the live app preview frozen at the last good state. Right side shows the exact SQL that failed with syntax highlighting on the error. Below are four large actionable cards. Retry after I edit the migration file. Have the agent diagnose and propose a fixed migration. Roll back the previous successful steps that conflict and try a different architecture. Dump everything into a Linear issue for my backend engineer. State is preserved perfectly. The tables that were created before the failure remain. The frontend components stay in place. The original prompt and all previous decisions stay loaded in memory. This turns a potential hour long disaster into a ten minute correction. v0 applies the same thinking to its component generation. A prompt that produces broken Tailwind classes triggers an inline error callout directly on the preview. The callout quotes the CSS error, suggests three likely causes, and offers one click options that either regenerate that single component with the error fed back to the model or lets the designer edit the generated code in place while the rest of the UI stays interactive. Users iterate through failure loops faster than they could write new prompts from scratch. Cursor integrates error recovery directly into the code editor for its 2025 agent mode. When a refactor across seven files breaks the build the surface appears as annotated diffs. Each failure gets its own callout with the compiler message attached to the exact line. The user can click to jump to any error, accept some changes and reject others, or highlight a section and tell the agent to fix only that part using the error as additional context. The plan surface at the top of the sidebar updates in real time to mark which subtasks succeeded and which need another pass. Claude Code uses the terminal as its error canvas. Failed commands expand to show full output with suggested fixes listed as executable buttons. Pick one and the command reruns with modified flags but all prior environment state remains exactly as it was. Devin treats the full workspace as recovery real estate. A stuck browser automation leaves the actual browser open on the failure page. The user can demonstrate the correct action and the agent updates its plan accordingly without losing any of the backend work already completed. Linear AI does error recovery inside existing issues. A failed bulk update surfaces as a comment with structured fields showing what succeeded and what failed with one click options to retry only the failures or to modify the filter criteria that caused the scope error. These concrete implementations prove that the quality of error recovery determines whether an agent feels like a reliable teammate or a flaky intern.

The article lists three common bugs. The third is the agent that hides the failure. Products that swallow errors or give vague messages destroy trust faster than slow performance. The fix is always the same. Surface the failure point, the system state at time of crash, and concrete recovery options with state preservation guaranteed. The pre ship checklist asks whether you can force a failure and see clear status plus recovery paths. Most products fail that check. Replit Agent still buries recovery inside chat threads in 2025 which forces users to scroll through old messages to understand what died. The stronger implementations keep the error pinned to the exact plan step and the live canvas so no hunting is required.

Use this pattern on every agent that does more than trivial single shot tasks. Deploy it when the task involves real world side effects, when runtime exceeds ten minutes, or when the user cannot easily recreate the starting state. Use it without compromise on any product you want people to adopt for daily work. The pattern is overkill only for pure sandbox experiments where nothing persists and nothing costs money. Even then you should prototype the recovery surface because it reveals how well your other six patterns are working. Never ship an agent UI that treats errors as rare events. They are not. They are the default. Design for them or watch your users defect to manual work.

Error recovery separates agents people demo from agents people ship.

Related terms

Keep exploring