Zeigarnik Effect (Open Loops)

Canonical
NormanClassic HCIKahnemanWendel

Confidence

83%

Cognitive Load

Medium

Evidence

production validated

Impact

feature

Ethical Guardrail

Agents must never create artificial open loops just to drive engagement. Never leave loops open indefinitely without progress indication. Never use open loops to guilt users.

Design Intent

People remember unfinished tasks far more vividly than completed ones. The Zeigarnik Effect creates a mental tension -- an open loop -- that occupies headspace and drives users back to close it.

Psychology Principle

People remember unfinished tasks far more vividly than completed ones, creating mental tension that drives them back.

Description

Deliberately leaves tasks incomplete or visually open to create psychological pull that drives users back to close the loop.

When to use

Any multi-session or ongoing workflow where cross-session completion matters -- drafts, unfinished forms, abandoned carts, incomplete profiles.

Example

Gmail Draft Reminder: Persistent 'Draft saved -- finish your email?' banner with one-tap resume link that appears on next app open.

Autonomy Compatibility

Suggest

Behavioral Objective

Users return to and complete the open task because the unfinished state occupies mental space.

  • Higher cross-session completion rates
  • Reduced forgotten task abandonment
  • Increased sense of personal momentum

Target Actor

role

Everyday user

environment

Multi-session, context-switching workflows

emotional baseline

Mild discomfort with unfinished tasks

ai familiarity

medium

risk tolerance

medium

Execution Model

1

open_loop_creation

Start a task and leave it visibly incomplete.

Task is completed too early or loop is never created.

2

tension_maintenance

Keep the open state salient across sessions.

User forgets the task entirely.

3

closure_pull

Make resuming and closing the loop frictionless and rewarding.

User sees the loop but chooses not to close it.

Failure Modes

Too many open loops create overwhelm

Limit to 1-3 most important loops per user

micro

Open loop feels like nagging

Make it informative and optional to dismiss

micro

Loop stays open forever and erodes trust

Auto-close after reasonable time with user notification

feature

Loop is too vague

Always show exact next step

micro

Cultural differences in tolerance for open tasks

Allow users to prefer 'clean slate' mode

feature

Agent Decision Protocol

Triggers

  • User starts but does not finish a multi-session task
  • Cross-session completion is low
  • User says 'I meant to finish that'

Escalation Strategy

L1: Diagnose whether the open loop is visible and salient

L2: Nudge -- surface resume card with exact next step

L3: Restructure -- simplify remaining steps to reduce closure friction

L4: Constrain -- limit active open loops to prevent overwhelm

L5: Yield -- flag for human designer review if loop reminders cause negative sentiment

Example

User drafted an email but closed the tab -> agent shows 'You left off on your email draft -- finish in 30 seconds?' with one-tap resume.

Behavioral KPIs

Primary

  • Return rate to open tasks within 24-48 hours
  • Completion rate of tasks with visible open loops
  • Cross-session resumption rate

Risk

  • User reports of 'too many unfinished things'
  • Task abandonment after seeing the open loop

Trust

  • User sense of relief upon closing loops
  • Autonomy Dial usage when agent surfaces open loops

Behavioral Signals

loop_forgotten

open_loop_active=true AND days_since_last_visit > 7

open_loop_reminder_shown=true AND reminder_clicked=false

loop_overwhelm

active_open_loops > 3 AND completion_rate_declining=true

user_dismisses_loop_reminder_count > 5 in 7 days

closure_friction

loop_resumed=true AND loop_completed=false AND time_in_task > 120s

resume_button_clicked=true AND immediate_exit=true

Decay Monitoring

Revalidate when

  • User workflows become significantly longer or shorter
  • New platform features change session patterns
  • Users adapt to persistent open states

Decay signals

  • Rising dismissal of open-loop reminders
  • Drop in cross-session return rates
  • Feedback that open loops feel stale

Pattern Relationships

Related Patterns

Canonical Implementation

Gmail Draft Reminder: Persistent 'Draft saved -- finish your email?' banner with one-tap resume link on next app open

Telemetry Hooks

open_loop_shownloop_resumedloop_closed

Tags

retentioncross-sessionagent-ready