Skip to content

Releases: Open-Agent-Tools/Basic-Agent-Chat-Loop

v0.4.1 - Hotfix Release

21 Oct 17:27

Choose a tag to compare

🐛 Bug Fixes

Fixed CTRL-C handling

  • Resolved issue where pressing CTRL-C during agent processing would not exit cleanly
  • The thinking indicator task is now properly cancelled on KeyboardInterrupt
  • Added finally block to ensure cleanup always happens, even when interrupted

Added dynamic terminal title updates

  • Terminal window/tab title now shows agent status in real-time
  • Shows "Agent Name - Idle" when waiting for input
  • Shows "Agent Name - Processing..." during agent execution
  • Resets to "Terminal" on exit
  • Configurable via ui.update_terminal_title in .chatrc (enabled by default)

📦 Installation

```bash
pip install basic-agent-chat-loop==0.4.1
```

🔗 Full Changelog

Full Changelog: v0.4.0...v0.4.1


🤖 Generated with Claude Code

v0.4.0 - Security & Cleanup Release

21 Oct 16:32

Choose a tag to compare

🔒 Security Improvements

SECURITY-001: Environment Variable Handling

  • ✅ Removed .env loading from framework entirely
  • ✅ Environment variable handling is now the agent's responsibility
  • ✅ Removed python-dotenv dependency from core framework
  • ✅ Updated TROUBLESHOOTING.md with guidance for agents

SECURITY-003: Log File Security

  • ✅ Set restrictive permissions (0600) on log files
  • ✅ Implemented log rotation (max 10MB per file, 5 backups)
  • ✅ Documented what gets logged and PII concerns in SECURITY.md
  • ✅ Added privacy note to module docstring
  • ✅ Log directory created with secure permissions (0700)

🧹 Code Cleanup

  • Fixed lingering env_path references from .env removal
  • Removed TODO.md (tracking work through GitHub Issues now)
  • Updated README dependencies (removed python-dotenv)
  • All linting and type checking passing
  • All 273 tests passing

📦 Installation

```bash
pip install basic-agent-chat-loop==0.4.0
```

🔗 Full Changelog

Full Changelog: v0.3.7...v0.4.0


🤖 Generated with Claude Code

v0.3.7 - Windows Command History Fix

20 Oct 19:32

Choose a tag to compare

Windows Command History Fix

Fixed

  • Windows Command History - pyreadline3 now installed automatically on Windows
    • No longer requires manual installation with [windows] extras
    • Ensures consistent UX across all platforms
    • Added warning message if readline is unavailable on Windows
    • Resolves long-standing usability issue for Windows users

Changed

  • pyreadline3 moved from optional to core dependency (Windows only)
  • Updated installation documentation to reflect automatic Windows support

Full Changelog: v0.3.6...v0.3.7

v0.3.6 - Color Configuration & Tool Highlighting

20 Oct 14:30

Choose a tag to compare

🎨 Color Configuration & Tool Highlighting

This hotfix release improves the color configuration experience and adds automatic highlighting for agent tool messages.

✨ New Features

Named Color Palette

  • 12 predefined colors for easy configuration without ANSI codes
  • Colors: black, red, green, yellow, blue, magenta, cyan, white, bright_red, bright_green, bright_blue, bright_white
  • Backward compatible with existing ANSI code configurations
  • New Colors._resolve_color() method for flexible color resolution

Agent Tool Message Highlighting

  • Lines starting with [ or Tool # now display in bright_green
  • Automatic detection and colorization of agent tool usage
  • Works in both streaming and non-streaming modes
  • New Colors.format_agent_response() method for custom formatting

Configuration Reset

  • New --reset-config flag to reset .chatrc to defaults
  • Interactive prompt with scope selection (global/project) and confirmation
  • Comprehensive default values for all configuration sections
  • Easy recovery from misconfiguration

🔧 Improvements

  • Config wizard now prompts for color names instead of raw ANSI codes
  • Improved user experience with clear color options
  • Enhanced test coverage: 276 tests passing (+8 new tests)

🐛 Bug Fixes

  • Removed unused scope variable in reset_config_to_defaults
  • Fixed line length violations in config_wizard.py and ui_components.py
  • Added type hints to default_config dictionary

📦 Installation

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

🔗 Links

v0.3.5 - Audio Notifications & Configuration Wizard

16 Oct 14:51

Choose a tag to compare

Release v0.3.5 - Audio Notifications & Configuration Wizard

🎉 New Features

🔊 Audio Notifications

Play a sound when the agent completes a turn to know when responses are ready!

  • Configurable: Enable/disable via audio.enabled config (default: enabled)
  • Customizable: Use your own WAV file with audio.notification_sound config
  • Cross-platform: Works on macOS (afplay), Linux (aplay/paplay), and Windows (winsound)
  • Bundled sound: Includes a pleasant notification sound out of the box
  • Per-agent control: Override audio settings for specific agents

🧙 Interactive Configuration Wizard

New --wizard / -w flag to interactively configure your .chatrc settings!

  • Guided setup: Walk through all available settings section by section
  • Smart defaults: Shows your current values when editing existing configs
  • Input validation: Validates all input types (bool, int, float, string)
  • Dual scope: Create global (~/.chatrc) or project-level (./.chatrc) configs
  • Well-formatted: Generates clean YAML with helpful comments
  • Secure: Creates config files with secure permissions (0o600)

🔧 Improvements

  • Enhanced type annotations for platform-specific imports
  • Code quality improvements with ruff formatting
  • Fixed type checking issues with winsound and yaml imports

📦 Installation

pip install basic-agent-chat-loop==0.3.5

🚀 Quick Start

Configure your settings interactively:

chat_loop --wizard

Disable audio notifications:

# ~/.chatrc
audio:
  enabled: false

Use a custom notification sound:

# ~/.chatrc
audio:
  enabled: true
  notification_sound: ~/my-sounds/ding.wav

📊 Stats

  • ✅ All 181 tests passing
  • 📝 Full type coverage with mypy
  • 🎨 Code formatted with ruff
  • 📚 Comprehensive documentation

🙏 Feedback

Found a bug or have a feature request? Please open an issue!

v0.3.0 - Conversation Auto-Save

15 Oct 13:53

Choose a tag to compare

New Features

Conversation Auto-Save

Automatically save conversations on exit with the new --auto-save / -s flag or persistent config option.

  • Config option: features.auto_save for persistent setting
  • Per-agent override: Configure auto-save per agent in .chatrc
  • Smart filenames: Include agent name, timestamp, and first query snippet
  • JSON format: Conversations saved with metadata (agent, model, tokens, duration)
  • Default location: ~/agent-conversations/ (configurable via paths.save_location)

Example

# Enable auto-save for this session
chat_loop myagent --auto-save

# Or enable globally in ~/.chatrc
features:
  auto_save: true

# Or per-agent in ~/.chatrc or project .chatrc
agents:
  'My Agent':
    features:
      auto_save: true

What's Changed

  • New --auto-save / -s flag for automatic conversation saving
  • Config option features.auto_save for persistent setting
  • Per-agent config override support
  • Conversations saved to ~/agent-conversations/ by default
  • All 181 tests passing

Full Changelog: v0.2.1...v0.3.0

v0.2.1

10 Oct 15:58

Choose a tag to compare

🐛 Bug Fixes

  • Windows: Fixed "invalid distribution" warning during pip install by configuring license metadata properly
  • Metadata: Removed problematic Dynamic: license-file field that caused compatibility issues with older pip versions

✨ Features

  • CLI: Added --version flag to display installed version (chat_loop --version)

📦 Package Updates

  • Added explicit MANIFEST.in for better distribution file control
  • Improved license file handling in package metadata

Full Changelog: v0.2.0...v0.2.1

🤖 Generated with Claude Code

v0.2.0 - Automatic Dependency Installation

10 Oct 13:43

Choose a tag to compare

What's New

🚀 Automatic Dependency Installation

  • New --auto-setup / -a flag to automatically install agent dependencies
  • Supports requirements.txt, pyproject.toml, and setup.py
  • Smart detection: Suggests using --auto-setup when dependency files are found
  • Helpful feedback with installation progress and errors
  • 20 new tests for dependency management (181 total tests)

🗺️ Community Roadmap

Created 37 feature request issues for community discussion:

  • CLI enhancements (watch, budget, pipe, resume, inspect, validate, export, quiet, test-suite, benchmark, compare, context, preset, profile, dry-run, max-turns)
  • Documentation & learning (tutorial, example agents, videos)
  • Integrations (VS Code, Web UI, API server, Slack/Discord)
  • Quality of life (better errors, keyboard shortcuts, tab completion, conversation management)
  • Advanced features (multi-agent, RAG, persistent memory, marketplace)
  • Developer experience (debug mode, config wizard, scaffolding, hot reload)
  • Testing & quality (integration tests, fuzzing, performance benchmarks)
  • Community & sharing (plugin system, templates, import/export)
  • Security & safety (sandboxing, audit logging, secret detection)

Installation

pip install basic-agent-chat-loop==0.2.0

Full Changelog

See CHANGELOG.md for complete details.

v0.1.3 - Clean Startup (No Import Errors)

09 Oct 17:09

Choose a tag to compare

What's Fixed

Eliminated Import Error Messages

This release completely removes the confusing "No module named" error messages that appeared during startup when using fully qualified agent paths.

The Problem:
When loading agents from paths like /agents/local/timmy/agent.py, the loader would try to execute parent package __init__.py files. If those files had imports of sibling modules, Python would print error messages to stderr even though the errors were caught and handled.

The Solution:

  • Parent package __init__.py files are no longer executed during agent loading
  • Parent packages are registered as minimal stub modules (sufficient for Python's import machinery)
  • Added sys.stderr suppression during agent module execution as defense-in-depth
  • Agent functionality is unchanged - absolute imports still work via sys.path

Impact

  • ✅ Clean startup experience with no confusing error messages
  • ✅ Agent functionality unchanged
  • ✅ All 161 tests passing

Installation

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

For Users with Import Errors

If you were seeing errors like:

  • ModuleNotFoundError: No module named 'agents'
  • ImportError: cannot import name 'xyz' from 'agents'

These are now completely eliminated! Update to v0.1.3 and enjoy a clean startup experience.

Full Changelog: v0.1.2...v0.1.3

v0.1.2 - Configuration and Import Fixes

09 Oct 16:54

Choose a tag to compare

What's Fixed

Configuration System Bugs

  • Fixed config loading precedence: Explicit config path now has highest priority (was lowest)
  • Fixed NoneType handling: Config merge now skips None values from YAML
  • Fixed default template: Changed agents: to agents: {} to prevent None parsing
  • Resolved "NoneType not iterable" errors reported by users

Enhanced Relative Import Support

  • Added proper parent package registration in sys.modules
  • Agents can now import from multiple sibling modules without errors
  • Fixed multi-import pattern: from .utils import X followed by from .helpers import Y now works

Testing

  • All 161 tests passing (up from 160)
  • Added test for multiple sibling imports
  • All 24 config tests now pass (was 20/24)

Installation

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

Full Changelog: v0.1.1...v0.1.2