Skip to content

v1.7.2 - Critical Hotfix: Interactive Tool Prompts

Choose a tag to compare

@jwesleye jwesleye released this 06 Jan 14:22
· 41 commits to main since this release

🚨 Version 1.7.2 - Critical Hotfix

Critical Bug Fix

Fixed interactive tool prompts not displaying (CRUD confirmations, Y/n prompts)

Issue in 1.7.1

The stdout suppression feature (introduced to fix double-output) was hiding interactive tool prompts from BOAT/COAT tools. Users couldn't see what they were confirming when tools asked for permission.

Root Cause

  • Stdout suppression happens during agent execution (between event iterations)
  • Tool calls execute during that window
  • Tool confirmation prompts ("Delete file? Y/n: ") were suppressed
  • input() still worked, but users couldn't see the question

Solution

Changed suppress_agent_stdout default from true to false

  • Interactive tools now work correctly by default
  • Users experiencing double-output can opt-in to suppression
  • Added warnings about the trade-off

Configuration

Default Behavior (Recommended)

behavior:
  suppress_agent_stdout: false  # Interactive tools work (default)

For Users Experiencing Double-Output

Only enable if:

  1. You experience double-output (text appearing twice)
  2. AND your agent doesn't use interactive tools (CRUD confirmations)
behavior:
  suppress_agent_stdout: true  # Fixes double-output but hides tool prompts

Who Should Upgrade

✅ Upgrade Immediately If:

  • You use agents with CRUD/file operation tools
  • You use BOAT/COAT tools with confirmations
  • You experienced missing Y/n prompts in 1.7.1

⚠️ Consider Staying on 1.7.1 If:

  • You experience double-output
  • AND you don't use any interactive tools
  • You can manually set suppress_agent_stdout: true in your config

Installation

pip install --upgrade basic-agent-chat-loop

For Existing 1.7.1 Users

Quick Fix Without Upgrading

Edit your ~/.chatrc:

behavior:
  suppress_agent_stdout: false  # Restore tool prompts

After Upgrading

If you reset your config or run the wizard, the new default (false) will be applied automatically.

Testing

After upgrading, test with an agent that has CRUD tools:

  1. Try to delete/edit a file
  2. You should see the confirmation prompt: "Delete file? Y/n: "
  3. You can answer and see the result

Technical Details

Why This Happens

Stdout suppression wraps the entire async event loop to prevent the Strands library from printing accumulated text. However, this also catches any output from tools executing within the agent's processing window.

Trade-offs

  • suppression disabled (new default): Interactive tools work, but some users may see double-output
  • suppression enabled: No double-output, but interactive tool prompts are hidden

We chose interactive tools as the default because:

  1. Hidden prompts break functionality silently
  2. Double-output is annoying but doesn't break features
  3. Fewer users experience double-output than use interactive tools

Changes Since 1.7.1

  • Changed suppress_agent_stdout default from true to false
  • Added warnings to config template
  • Enhanced wizard help text with trade-off explanation
  • Updated documentation

Apologies for the inconvenience - this hotfix restores expected behavior for interactive tools. Thank you for reporting the issue!