"Improv Puppets'' is an interaction paradigm modeled after traditional puppet play. With physical puppets, children move their puppets' bodies and speak their puppets' words in real time. Thus, the puppets serve as passive vehicles for the children's collaboration on improvisational story making. Similarly, with Improv Puppets, players direct the physical and verbal behavior of their puppets in real time. Now, however, the puppets are synthetic agents. They are animated and smart. The puppets tell the children which high-level directions make sense in a given situation. Given the children's choices, the puppets improvise a joint course of behavior. Thus, improvisational story making becomes a collaboration among children and puppets. This paper describes the design and behavior of an implemented system that allows two children to direct the improvisations of two puppets in real time.