Skip to content

[Bug]: CLI crashes with Rich MarkupError when error text contains bracket-like output #422

Description

@T90REAL

What happened?

This appears to be related to #281 and the fix in #341, but the issue is not fully fixed on the latest main branch.
The CLI still crashes with rich.errors.MarkupError when an exception message contains text that looks like a Rich markup closing tag, for example:

[/'A', 1, /'B']
[/\-\\+.$%*@?|]

In my case this happened while running trae-cli with --console-type simple. The agent explored parser/grammar code and tool output contained strings like the examples above. Then Trae Agent attempted to print the exception and crashed inside Rich, masking the original error.

What did you expect to happen?

The CLI should not crash while reporting an exception. It should display the original exception and traceback.

Traceback

Traceback (most recent call last):
  File "/home/agent/.local/bin/trae-cli", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/trae_agent/cli.py", line 727, in main
    cli()
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/click/core.py", line 1524, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/click/core.py", line 1445, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/click/core.py", line 1912, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/click/core.py", line 1308, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/click/core.py", line 877, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/trae_agent/cli.py", line 408, in run
    console.print(f"\n{error_text}")
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/rich/console.py", line 1705, in print
    renderables = self._collect_renderables(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/rich/console.py", line 1560, in _collect_renderables
    self.render_str(
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/rich/console.py", line 1442, in render_str
    rich_text = render_markup(
                ^^^^^^^^^^^^^^
  File "/home/agent/.local/share/uv/tools/trae-agent/lib/python3.12/site-packages/rich/markup.py", line 167, in render
    raise MarkupError(
rich.errors.MarkupError: closing tag '[/'A', 1, /'B']' at position 32 doesn't match any open tag

What is your system, Python, dependency version?

  • Runtime: Docker / Linux container
  • Python: 3.12

Additional information that you believe is relevant to this bug

No response

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

    type/bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions