The International Space Station (ISS) Thermal Control System (TCS) can be categorized into three major subsystems: Passive Thermal Control System (PTCS), External Active Thermal Control System (EATCS), and Internal Active Thermal Control System (IATCS). Each of these segments of TCS is highly automated and as such is very dependent on the on-board software for monitoring and control of the various functions. For the PTCS, software is used to monitor temperature sensor data and command heaters on and off. The active thermal systems contain a large number and a large variety of equipment that is highly dependent on software control. This paper explores the important role that software plays in the operation of the ISS TCS and the need for the hardware and software development to be well integrated. A brief overview is provided of the design and architecture of the three major thermal control subsystems and the related thermal control software. A more thorough presentation is then given of certain key specific software functions that provide monitoring and control for nominal operation of the thermal control subsystems, as well as fault detection, isolation and recovery (FDIR) operations. Reliability and safety considerations are also discussed, as these play a large role in determining the necessary interaction between the TCS hardware and software.