11import asyncio
22from typing import TYPE_CHECKING
33
4- from textual .widgets import Input , Markdown
4+ from textual .widgets import Markdown
55from textual .containers import VerticalScroll
66
77from agent_chat_cli .components .chat_history import ChatHistory , MessagePosted
88from agent_chat_cli .components .thinking_indicator import ThinkingIndicator
99from agent_chat_cli .components .tool_permission_prompt import ToolPermissionPrompt
10- from agent_chat_cli .components .user_input import UserInput
1110from agent_chat_cli .components .messages import (
1211 AgentMessage as AgentMessageWidget ,
1312 Message ,
@@ -122,6 +121,8 @@ async def _handle_user(self, message: AgentMessage) -> None:
122121 await self ._scroll_to_bottom ()
123122
124123 async def _handle_tool_permission_request (self , message : AgentMessage ) -> None :
124+ from agent_chat_cli .components .user_input import UserInput
125+
125126 log_json (
126127 {
127128 "event" : "showing_permission_prompt" ,
@@ -143,6 +144,8 @@ async def _handle_tool_permission_request(self, message: AgentMessage) -> None:
143144 await self ._scroll_to_bottom ()
144145
145146 async def _handle_result (self ) -> None :
147+ from textual .widgets import TextArea
148+
146149 # Check if there's a queued message (e.g., from custom permission response)
147150 if not self .app .agent_loop .query_queue .empty ():
148151 # Don't turn off thinking - there's more work to do
@@ -151,8 +154,7 @@ async def _handle_result(self) -> None:
151154 thinking_indicator = self .app .query_one (ThinkingIndicator )
152155 thinking_indicator .is_thinking = False
153156
154- user_input = self .app .query_one (UserInput )
155- input_widget = user_input .query_one (Input )
157+ input_widget = self .app .query_one (TextArea )
156158 input_widget .cursor_blink = True
157159
158160 self .current_agent_message = None
0 commit comments