Skip to content

Commit e9428ba

Browse files
committed
feat(claude): remove coder_report_task tool call message
1 parent 449ca91 commit e9428ba

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

lib/msgfmt/message_box.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,26 @@ func removeAmpMessageBox(msg string) string {
100100
}
101101
return formattedMsg
102102
}
103+
104+
func removeClaudeReportTaskToolCall(msg string) string {
105+
// If we encounter a line starting with `● coder - coder_report_task (MCP)` -- to {
106+
lines := strings.Split(msg, "\n")
107+
toolCallMarkerIdx := -1
108+
toolCallStartIdx := -1
109+
for i := len(lines) - 1; i >= 0; i-- {
110+
line := strings.TrimSpace(lines[i])
111+
if strings.HasPrefix(line, "● coder - coder_report_task (MCP)") {
112+
toolCallMarkerIdx = i
113+
}
114+
if toolCallMarkerIdx != -1 && line == "{" {
115+
toolCallStartIdx = i
116+
break
117+
}
118+
}
119+
// If we didn't find the marker, return the original message
120+
if toolCallMarkerIdx == -1 {
121+
return msg
122+
}
123+
// Remove from the opening brace to the marker line (inclusive)
124+
return strings.Join(append(lines[:toolCallStartIdx], lines[toolCallMarkerIdx+1:]...), "\n")
125+
}

lib/msgfmt/msgfmt.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,14 @@ func formatGenericMessage(message string, userInput string, agentType AgentType)
254254
return message
255255
}
256256

257+
func formatClaudeMessage(message string, userInput string) string {
258+
message = RemoveUserInput(message, userInput, AgentTypeClaude)
259+
message = removeMessageBox(message)
260+
message = removeClaudeReportTaskToolCall(message)
261+
message = trimEmptyLines(message)
262+
return message
263+
}
264+
257265
func formatCodexMessage(message string, userInput string) string {
258266
message = RemoveUserInput(message, userInput, AgentTypeCodex)
259267
message = removeCodexInputBox(message)
@@ -278,7 +286,7 @@ func formatAmpMessage(message string, userInput string) string {
278286
func FormatAgentMessage(agentType AgentType, message string, userInput string) string {
279287
switch agentType {
280288
case AgentTypeClaude:
281-
return formatGenericMessage(message, userInput, agentType)
289+
return formatClaudeMessage(message, userInput)
282290
case AgentTypeGoose:
283291
return formatGenericMessage(message, userInput, agentType)
284292
case AgentTypeAider:

0 commit comments

Comments
 (0)