@@ -215,10 +215,14 @@ func (e *editTool) createNewFile(ctx context.Context, filePath, content string,
215215 content,
216216 strings.TrimPrefix(filePath, e.workingDir),
217217 )
218+ permissionPath := filePath
219+ if strings.HasPrefix(filePath, e.workingDir) {
220+ permissionPath = e.workingDir
221+ }
218222 p := e.permissions.Request(
219223 permission.CreatePermissionRequest{
220224 SessionID: sessionID,
221− Path: filePath,
225+ Path: permissionPath,
222226 ToolCallID: call.ID,
223227 ToolName: EditToolName,
224228 Action: "write",
@@ -336,10 +340,15 @@ func (e *editTool) deleteContent(ctx context.Context, filePath, oldString string
336340 strings.TrimPrefix(filePath, e.workingDir),
337341 )
338342
343+ permissionPath := filePath
344+ if strings.HasPrefix(filePath, e.workingDir) {
345+ permissionPath = e.workingDir
346+ }
347+
339348 p := e.permissions.Request(
340349 permission.CreatePermissionRequest{
341350 SessionID: sessionID,
342− Path: filePath,
351+ Path: permissionPath,
343352 ToolCallID: call.ID,
344353 ToolName: EditToolName,
345354 Action: "write",
@@ -466,10 +475,15 @@ func (e *editTool) replaceContent(ctx context.Context, filePath, oldString, newS
466475 newContent,
467476 strings.TrimPrefix(filePath, e.workingDir),
468477 )
478+
479+ permissionPath := filePath
480+ if strings.HasPrefix(filePath, e.workingDir) {
481+ permissionPath = e.workingDir
482+ }
469483 p := e.permissions.Request(
470484 permission.CreatePermissionRequest{
471485 SessionID: sessionID,
472− Path: filePath,
486+ Path: permissionPath,
473487 ToolCallID: call.ID,
474488 ToolName: EditToolName,
475489 Action: "write",