fix(worker): escape newline/tab in CLI args

This commit is contained in:
mika kuns
2026-04-17 14:25:15 +02:00
parent 11a4376da5
commit ad7c9facaf
2 changed files with 32 additions and 2 deletions

View File

@@ -55,9 +55,15 @@ public sealed class ClaudeArgsBuilder
private static string Escape(string value)
{
if (value.Contains(' ') || value.Contains('"') || value.Contains('\''))
if (value.Contains(' ') || value.Contains('"') || value.Contains('\'')
|| value.Contains('\t') || value.Contains('\n') || value.Contains('\r'))
{
var escaped = value.Replace("\\", "\\\\").Replace("\"", "\\\"");
var escaped = value
.Replace("\\", "\\\\")
.Replace("\"", "\\\"")
.Replace("\n", "\\n")
.Replace("\r", "\\r")
.Replace("\t", "\\t");
return $"\"{escaped}\"";
}
return value;