From e6d84e518781bb349e4dafe1e538d33290e53dc7 Mon Sep 17 00:00:00 2001 From: Christian Schulz Date: Sun, 29 Mar 2026 20:57:56 +0200 Subject: [PATCH] fix: line breaks for adding new environment variables --- .../settings/view/modals/ClaudeMcpFormModal.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/settings/view/modals/ClaudeMcpFormModal.tsx b/src/components/settings/view/modals/ClaudeMcpFormModal.tsx index 8efd9fb83..896d71827 100644 --- a/src/components/settings/view/modals/ClaudeMcpFormModal.tsx +++ b/src/components/settings/view/modals/ClaudeMcpFormModal.tsx @@ -416,12 +416,21 @@ export default function ClaudeMcpFormModal({ value={Object.entries(formData.config.env).map(([key, value]) => `${key}=${value}`).join('\n')} onChange={(event) => { const env: Record = {}; + const isNewLine = event.target.value.lastIndexOf('\n') === event.target.value.length - 1; event.target.value.split('\n').forEach((line) => { const [key, ...valueParts] = line.split('='); if (key && key.trim()) { - env[key.trim()] = valueParts.join('=').trim(); + let trimmedKey = key.trim(); + if (env[trimmedKey]) { + // if key already exists, add an underscore to prevent data loss + trimmedKey += '_' + } + env[trimmedKey] = valueParts.join('=').trim(); } }); + if (isNewLine) { + env[''] = ''; + } updateConfig('env', env); }} className="w-full rounded-lg border border-gray-300 bg-gray-50 px-3 py-2 text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100"