Skip to content

Comments

RLM: make bash REPL default, keep Python REPL optional#758

Merged
snimu merged 9 commits intomainfrom
sebastian/rlm-bash-2026-01-21
Jan 21, 2026
Merged

RLM: make bash REPL default, keep Python REPL optional#758
snimu merged 9 commits intomainfrom
sebastian/rlm-bash-2026-01-21

Conversation

@snimu
Copy link
Contributor

@snimu snimu commented Jan 21, 2026

Description

Overview:

Adds a Bash REPL mode to RLMEnv (default), while keeping Python mode unchanged. Improves root-tool calling in Bash with --json support (args/kwargs schema) and JSON stdin handling.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Test improvement

Testing

  • All existing tests pass when running uv run pytest locally.
  • New tests have been added to cover the changes

Checklist

  • My code follows the style guidelines of this project as outlined in AGENTS.md
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Note

Makes RLMEnv Bash-first with configurable REPL, new worker/tool plumbing, and resilience improvements.

  • Default REPL = Bash via repl_language ("bash" default, "python" optional); registers call_bash_repl or call_python_repl accordingly; system prompt added for Bash
  • Bash worker + tool helper: new worker script template and root-tool helper supporting --json, stdin payloads, positional args, and llm_batch output headers; root tools callable as shell commands
  • Executor/IO changes: uses ThreadPoolExecutor for FIFO IO; best-effort unblocks response FIFO on timeouts; skips venv creation in Bash mode; renders worker script based on repl_language; cleans up IO executor on teardown
  • Output/UX: Bash REPL returns raw combined output; context-limit warnings shown in both modes; root tools documentation includes Bash usage; Python package docs suppressed in Bash mode
  • API/docs/tests: adds repl_language param and updates docs (environments.md, experimental README); broad new tests for Bash prompt/output, worker rendering, tool helper behaviors, and context warnings

Written by Cursor Bugbot for commit b22e91f. This will update automatically on new commits. Configure here.

cursor[bot]

This comment was marked as outdated.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@snimu snimu merged commit 02ad654 into main Jan 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant