[GH-ISSUE #164] [Bug]: TUI rendering breaks with worktrees + submodules #66

Closed
opened 2026-02-27 10:22:01 +03:00 by kerem · 1 comment
Owner

Originally created by @rahulrajaram on GitHub (Feb 7, 2026).
Original GitHub issue: https://github.com/mikeyobrien/ralph-orchestrator/issues/164

Operating system

Debian

Ralph version

ralph 2.2.5

AI backend

Codex

Hat preset / workflow

No response

Steps to reproduce

Thanks for the project, first off, @mikeyobrien.

I wanted to report a peculiar, but consistently observable behaviour where if there's a set of tasks that spans multiple submodules, and for which the LLM (Claude and Codex) deems parallel work viable, terminal line rendering in the TUI breaks. Keyboard interrupts are disabled. I am disabling the parallel feature explicitly to get around this.

STR:

  1. setup project with multiple submodules
  2. setup Ralph
  3. create PROMPT.md with work spanning parallelizable work

Expected behavior

  1. TUI should render newlines correctly
  2. TUI should respond gracefully to keyboard interrupts (and SIGTERM). It should atomically complete current work before stopping.
  3. There should be no unmerged work at the end of it

Actual behavior

  1. observe TUI newline rendering breaking

Logs or error output


Config / preset file

No response

Originally created by @rahulrajaram on GitHub (Feb 7, 2026). Original GitHub issue: https://github.com/mikeyobrien/ralph-orchestrator/issues/164 ### Operating system Debian ### Ralph version ralph 2.2.5 ### AI backend Codex ### Hat preset / workflow _No response_ ### Steps to reproduce Thanks for the project, first off, @mikeyobrien. I wanted to report a peculiar, but consistently observable behaviour where if there's a set of tasks that spans multiple submodules, and for which the LLM (Claude and Codex) deems parallel work viable, terminal line rendering in the TUI breaks. Keyboard interrupts are disabled. I am disabling the parallel feature explicitly to get around this. STR: 1. setup project with multiple submodules 2. setup Ralph 3. create PROMPT.md with work spanning parallelizable work ### Expected behavior 1. TUI should render newlines correctly 2. TUI should respond gracefully to keyboard interrupts (and SIGTERM). It should atomically complete current work before stopping. 3. There should be no unmerged work at the end of it ### Actual behavior 1. observe TUI newline rendering breaking ### Logs or error output ```shell ``` ### Config / preset file _No response_
kerem 2026-02-27 10:22:01 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@mikeyobrien commented on GitHub (Feb 8, 2026):

Fixed by #166 (sanitizing carriage returns/control chars in streamed output to prevent ratatui/TUI rendering corruption).

<!-- gh-comment-id:3865808927 --> @mikeyobrien commented on GitHub (Feb 8, 2026): Fixed by #166 (sanitizing carriage returns/control chars in streamed output to prevent ratatui/TUI rendering corruption).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ralph-orchestrator#66
No description provided.