@@ -13,6 +13,7 @@ import (
1313 "charm.land/fantasy"
1414 "github.com/charmbracelet/crush/internal/csync"
1515 "github.com/charmbracelet/crush/internal/diff"
16+ "github.com/charmbracelet/crush/internal/filepathext"
1617 "github.com/charmbracelet/crush/internal/fsext"
1718 "github.com/charmbracelet/crush/internal/history"
1819 "github.com/charmbracelet/crush/internal/lsp"
@@ -62,9 +63,7 @@ func NewMultiEditTool(lspClients *csync.Map[string, *lsp.Client], permissions pe
6263 return fantasy.NewTextErrorResponse("at least one edit operation is required"), nil
6364 }
6465
65− if !filepath.IsAbs(params.FilePath) {
66− params.FilePath = filepath.Join(workingDir, params.FilePath)
67− }
66+ params.FilePath = filepathext.SmartJoin(workingDir, params.FilePath)
6867
6968 // Validate all edits before applying any
7069 if err := validateEdits(params.Edits); err != nil {