@@ -67,7 +67,7 @@ const (
6767 maxAttachments = 5
6868)
6969
70−func (m *editorCmp) openEditor() tea.Cmd {
70+func (m *editorCmp) openEditor(value string) tea.Cmd {
7171 editor := os.Getenv("EDITOR")
7272 if editor == "" {
7373 // Use platform-appropriate default editor
@@ -82,7 +82,10 @@ func (m *editorCmp) openEditor() tea.Cmd {
8282 if err != nil {
8383 return util.ReportError(err)
8484 }
85− tmpfile.Close()
85+ defer tmpfile.Close() //nolint:errcheck
86+ if _, err := tmpfile.WriteString(value); err != nil {
87+ return util.ReportError(err)
88+ }
8689 c := exec.Command(editor, tmpfile.Name())
8790 c.Stdin = os.Stdin
8891 c.Stdout = os.Stdout
@@ -242,7 +245,7 @@ func (m *editorCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
242245 if m.app.CoderAgent.IsSessionBusy(m.session.ID) {
243246 return m, util.ReportWarn("Agent is working, please wait...")
244247 }
245− return m, m.openEditor()
248+ return m, m.openEditor(m.textarea.Value())
246249 }
247250 if key.Matches(msg, DeleteKeyMaps.Escape) {
248251 m.deleteMode = false