diff --git a/openhands-tools/openhands/tools/terminal/terminal/__init__.py b/openhands-tools/openhands/tools/terminal/terminal/__init__.py index 81d269b729..02d5cac36a 100644 --- a/openhands-tools/openhands/tools/terminal/terminal/__init__.py +++ b/openhands-tools/openhands/tools/terminal/terminal/__init__.py @@ -1,24 +1,38 @@ +import sys + from openhands.tools.terminal.terminal.factory import create_terminal_session from openhands.tools.terminal.terminal.interface import ( TerminalInterface, TerminalSessionBase, ) -from openhands.tools.terminal.terminal.subprocess_terminal import ( - SubprocessTerminal, -) from openhands.tools.terminal.terminal.terminal_session import ( TerminalCommandStatus, TerminalSession, ) -from openhands.tools.terminal.terminal.tmux_terminal import TmuxTerminal -__all__ = [ - "TerminalInterface", - "TerminalSessionBase", - "TmuxTerminal", - "SubprocessTerminal", - "TerminalSession", - "TerminalCommandStatus", - "create_terminal_session", -] +# SubprocessTerminal and TmuxTerminal use Unix-only modules (fcntl, pty) +# Only import them on Unix-like systems +if sys.platform != "win32": + from openhands.tools.terminal.terminal.subprocess_terminal import ( + SubprocessTerminal, + ) + from openhands.tools.terminal.terminal.tmux_terminal import TmuxTerminal + + __all__ = [ + "TerminalInterface", + "TerminalSessionBase", + "TmuxTerminal", + "SubprocessTerminal", + "TerminalSession", + "TerminalCommandStatus", + "create_terminal_session", + ] +else: + __all__ = [ + "TerminalInterface", + "TerminalSessionBase", + "TerminalSession", + "TerminalCommandStatus", + "create_terminal_session", + ]