@@ -74,8 +74,12 @@ func (m *UserMessageItem) RawRender(width int) string {
7474 }
7575
7676 renderer := common.MarkdownRenderer(m.sty, cappedWidth)
77+ mu := common.LockMarkdownRenderer(renderer)
7778
79+ mu.Lock()
7880 result, err := renderer.Render(msgContent)
81+ mu.Unlock()
82+
7983 if err != nil {
8084 content = msgContent
8185 } else {
@@ -102,7 +106,12 @@ func (m *UserMessageItem) renderSkillInvocation(content string, width int) strin
102106 if err := xml.Unmarshal([]byte(content), &skill); err != nil {
103107 // If parsing fails, just render as markdown
104108 renderer := common.MarkdownRenderer(m.sty, width)
109+ mu := common.LockMarkdownRenderer(renderer)
110+
111+ mu.Lock()
105112 result, err := renderer.Render(content)
113+ mu.Unlock()
114+
106115 if err != nil {
107116 return content
108117 }