diff --git a/README.md b/README.md
index d62b62b..a69f622 100644
--- a/README.md
+++ b/README.md
@@ -1438,3 +1438,6 @@ MIT License
- 진행 줄 재렌더 시 과한 fade 애니메이션을 제거해 깜박이듯 보이던 문제를 줄였고, 장시간 실행 뒤 내부 중단이 발생해도 더 이상 무조건 `사용자가 작업을 취소했습니다`로 표기하지 않도록 중립 문구로 정리했습니다.
- 깨진 한글이 남아 있던 [ChatWindow.FooterPresentation.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.FooterPresentation.cs), [ChatWindow.TimelinePresentation.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.TimelinePresentation.cs), [ChatWindow.AgentEventRendering.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs)의 표시 문자열을 다시 복구했습니다.
+
+- 업데이트: 2026-04-07 02:11 (KST)
+- AX Agent 내부 설정 공통 탭의 Gemini/Claude API 키 입력 필드를 PasswordBox에서 TextBox로 교체해, 오버레이 동기화 중에도 입력이 끊기거나 튕기지 않도록 수정했습니다.
diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md
index af9d2c0..ea5c558 100644
--- a/docs/DEVELOPMENT.md
+++ b/docs/DEVELOPMENT.md
@@ -1,4 +1,6 @@
-- Document update: 2026-04-07 02:03 (KST) - Fixed broken Korean strings in Cowork preset selection, composer guidance, and live progress/process-feed rendering. Rewrote ChatWindow.TopicPresetPresentation, normalized live progress copy, and cleaned up loop gate guidance strings that had become mojibake.
+- Document update: 2026-04-07 02:11 (KST) - Replaced the AX Agent internal-settings service API key input from PasswordBox to TextBox so Gemini/Claude keys can be entered reliably even while the overlay is resyncing service state.
+
+- Document update: 2026-04-07 02:03 (KST) - Fixed broken Korean strings in Cowork preset selection, composer guidance, and live progress/process-feed rendering. Rewrote ChatWindow.TopicPresetPresentation, normalized live progress copy, and cleaned up loop gate guidance strings that had become mojibake.
- Document update: 2026-04-07 02:03 (KST) - Adjusted AX Agent progress visibility so Cowork/Code now shows an immediate live hint when a run starts and no longer clears that hint on every intermediate agent event. Neutralized cancellation wording to 작업이 중단되었습니다 for non-user interruption paths.
# AX Copilot - 媛쒕컻 臾몄꽌
@@ -5281,3 +5283,4 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)
- 내부 중단/취소가 발생했을 때 사용자 취소로 단정하는 문구를 중립적으로 조정해 오탐성 `사용자가 작업을 취소했습니다` 표시를 줄였다.
+
diff --git a/src/AxCopilot/Views/ChatWindow.xaml b/src/AxCopilot/Views/ChatWindow.xaml
index cb6a509..3b126f5 100644
--- a/src/AxCopilot/Views/ChatWindow.xaml
+++ b/src/AxCopilot/Views/ChatWindow.xaml
@@ -3186,13 +3186,14 @@
Margin="0,4,0,6"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
-
+
diff --git a/src/AxCopilot/Views/ChatWindow.xaml.cs b/src/AxCopilot/Views/ChatWindow.xaml.cs
index 4009bf6..552b592 100644
--- a/src/AxCopilot/Views/ChatWindow.xaml.cs
+++ b/src/AxCopilot/Views/ChatWindow.xaml.cs
@@ -10312,7 +10312,7 @@ public partial class ChatWindow : Window
if (TxtOverlayServiceEndpoint != null)
TxtOverlayServiceEndpoint.Text = GetOverlayServiceEndpoint(service);
if (TxtOverlayServiceApiKey != null)
- TxtOverlayServiceApiKey.Password = GetOverlayServiceApiKey(service);
+ TxtOverlayServiceApiKey.Text = GetOverlayServiceApiKey(service);
if (TxtOverlayContextCompactTriggerPercent != null)
TxtOverlayContextCompactTriggerPercent.Text = Math.Clamp(llm.ContextCompactTriggerPercent, 10, 95).ToString();
if (TxtOverlayMaxContextTokens != null)
@@ -10460,7 +10460,7 @@ public partial class ChatWindow : Window
private void CommitOverlayApiKeyInput()
{
var service = NormalizeOverlayService(_settings.Settings.Llm.Service);
- var apiKey = TxtOverlayServiceApiKey?.Password ?? "";
+ var apiKey = TxtOverlayServiceApiKey?.Text ?? "";
switch (service)
{
case "ollama":