Skip to content

Replies render as one dense block: blank lines between paragraphs are lost #218

Description

@TheNomadInOrbit

MonoCode version

0.1.44

Operating system

macOS

OS version

macOS 26.6.2

Provider CLI

Codex

What happened

What I expect

I keep a global instruction file, and its formatting rules are explicit:

  • Separate every paragraph, heading, and list block with a blank line.
  • Never separate two blocks with a single newline. A single newline is treated as part of the same paragraph, so the reply renders as one dense block with no spacing.
  • Prefer one idea per paragraph over one sentence per line.

What happens

Assistant replies are shown as one continuous block. In the attached screenshot, three separate sections run together with only ordinary line spacing:

  • On performance: nothing runs per move. The panel reports only on hover enter and exit...
  • Tests: 128 pass, no warnings. The app is relaunched on this build...
  • I cannot move the mouse to verify hover myself, synthetic events are off limits here...
Screenshot of three sections running together with no paragraph spacing between them

A reader has to parse where one idea ends and the next begins. It is the specific failure the instruction above exists to prevent.

Evidence that the text itself does contain the breaks

I read the stored messages for the sessions in question. For four long replies on 2026-09-13:

Reply length Blank-line breaks (\n\n) Single-newline breaks
3022 17 25
5433 20 40
11689 30 91
9677 24 68

The paragraph breaks are present in the data. They are not visible as paragraph separation in the transcript.

What I would like you to check

Whether the assistant text path renders Markdown paragraphs with real paragraph spacing, or displays the text as raw pre-wrapped content where \n\n collapses to one blank line. If it is a <pre className="whitespace-pre-wrap"> surface, \n\n will only ever read as a single blank line no matter what the model emits.

It is specific to MonoCode

With the same model, the same provider, and the same local proxy, Hermes and the Codex app both render the same instruction correctly. Only MonoCode collapses it.

Steps to reproduce

  1. Set the instruction above in your global Codex instructions file.
  2. Run any multi-section turn that asks for several points of discussion.
  3. Read the reply in the transcript.

For comparison, run the same turn with the same model and provider through Hermes or the Codex app. Both keep the paragraph separation, MonoCode collapses it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions