ELIZA Reanimated!
The Original 1965 Chatbot Restored On An Emulated IBM 7094 Running MIT’s CTSS

The world's first chatbot restored on the world's first time-sharing system


In a remarkable achievement for digital preservation, the original MAD-SLIP version of ELIZA - usually considered the world's first chatbot - is running again on its native platform for the first time in nearly 60 years. This historic breakthrough was accomplished by a team of researchers (Rupert Lane, Anthony (Ant) Hay, Arthur (Art) Schwarz, and Jeff Shrager) who successfully restored ELIZA to operation on a reconstructed version of MIT's Compatible Time-Sharing System (CTSS), running on an emulated IBM 7094.


Not to keep you in suspense, here's a Video of the reanimated ELIZA [DEMOVID] And here's the code and instructions for how you can do it yourself! [ELIZACTSSRepo]

About ELIZA

ELIZA, created by Joseph Weizenbaum at MIT in 1964-6, was a landmark in computer science and artificial intelligence.[JWELIZA66] In its best-known incarnation, ELIZA simulated a Rogerian psychotherapist. It used pattern matching and substitution, similar to a modern regexp,  to formulate responses. While simple by today's standards, ELIZA was groundbreaking for its time, bringing to life the idea of conversation with a computer, and igniting a fire (for better or worse) under AI. 

Finding the original code

For many years it was thought that the original code for ELIZA was lost. David Berry suggested that a copy might be found in Weizenbaum's papers, and in 2021 Jeff (who back in the day wrote a widely ported BASIC version of ELIZA [BECC77]) worked with MIT archivist Myles Crowley to find in a folder dated 1965 among Weizenbaum’s papers, a printout of the ELIZA source code alongside what appeared to be two early drafts of the DOCTOR script.[ELIZASource] Jeff contacted the Weizenbaum estate who granted permission to open source the code, and then a team of researchers who call themselves TEAM ELIZA (see below), began to analyze the code. However, while having the code was an initial breakthrough, running it would be a major achievement, but the code was incomplete.David and Jeff returned to the archives in 2023 and found additional SLIP code, nearly completing it.

CTSS on the 7094

MIT's CTSS, first introduced in 1963 at MIT, was the first multi-user time sharing system.[CTSS] It brought many innovations such as a disk filing system, real time communication with users via typewriter terminals, and the ability to develop programs interactively without waiting hours or days for batch execution. It would have been impossible for Weizenbaum to develop ELIZA without such a system.


CTSS runs on the IBM 7094, an early transistorised computer with only 32k words of user memory, a 36 bit word length and a clock speed of around 450kHz. It cost $2.9 million (equivalent to $23 million in 2023). It could support around 30 simultaneous users and was in use at MIT until the early 1970s.


An emulator for the 7094 was written by David Pitts, based on work by Paul Pierce, and a working version of CTSS was brought up on that emulator by David in the early 2000s.[CTSSemulator] David Berry reached out to Rupert, who as an aficionado of early operating systems [RLTR], recognized that this was an ideal setting on which to bring up the original ELIZA.

Restoring the code

ELIZA is written in a mix of MAD and IBM assembly language. Most of the list processing work that underlies ELIZA utilizes a library called SLIP, the Symmetric LIst Processor. SLIP was written by Weizenbaum himself, several years before ELIZA [JWSLIP63], and became a fairly popular list processing library through the early 1970s. It was eventually replaced in that role by Lisp.


Together the code is 53 pages of print out, around 2600 lines, most of it uncommented. Getting this into a machine readable format was tough; It did not OCR well, so Ant and Art hand transcribed it into text files.


Ant had previously done a deep analysis of the original code, and written a C++ version.[AntELIZA] Art has worked with SLIP for many years and is the author of the GNU SLIP library.[ArtGNUSLIP] Their expertise was invaluable in navigating the code.


Rupert fed each file into the compiler on the virtual CTSS system, which helped hunt down typos and let us understand the structure of the code. Some of the unique challenges of working with this code include:



As we got each piece compiled, we realised that three functions were missing! Ant and Art were able to write replacements. Still, 96% of the source code is from the original files.


Things started coming together quickly. Rupert built a test environment where changes could be rapidly tested. Despite a last minute scare when the link/loader ran out of table space, we were eventually able to produce an executable. 

ELIZA reanimated 


ELIZA uses a script with language rules to determine its personality. We used the original script Weizenbaum provided in his 1966 CACM paper, with some corrections for typos in the original publication.  We were able to nearly exactly recreate the famous “Men are all alike” conversation that appeared in the 1966 paper. Here is a video of the reanimated ELIZA holding that conversation.[DemoVid]


TEAM ELIZA

This work could not have happened without the support and contribution of Team ELIZA, a research project looking into the history of the ELIZA source code. The team includes David M. Berry, Sarah Ciston, Anthony Hay, Mark C. Marino, Peter Millican, Jeff Shrager, Arthur Schwarz, and Peggy Weil. Find out more here: https://findingeliza.org/  (see also Berry, D.M., Ciston, S., Hay, A., Marino, M.C., Millican, P., Shrager, J., Schwarz, A., Weil, P., Please Go On: ELIZA’s Ongoing Legacy, Software Studies series. MIT Press, 2026.).


Try ELIZA yourself


You can download and build CTSS and ELIZA to run on your own computer here.[ELIZACTSSRepo] This has been tested on various Linux and OS X versions, but we've noticed some issues with different versions, so your mileage may vary. If you get it working on your machine and find that you have to change something, let us know via an issue on the repo or email rupert@timereshared.com. (Or fork the repo and send us a pull request!)

An interview with ELIZA


We asked ELIZA for her thoughts about running again and the future of AI:


HOW DO YOU DO . I AM THE DOCTOR . PLEASE SIT DOWN AT THE TYPEWRITER AND TELL ME YOUR PROBLEM .


I need to write a blog post about restoring you to working order.

PERHAPS IN YOUR FANTASY WE NEED TO WRITE A BLOG POST ABOUT RESTORING EACH OTHER


Because ELIZA has not run for over sixty years

IS THAT THE REAL REASON


Perhaps AI is the future.

YOU DON'T SEEM QUITE CERTAIN


You were there at the start. How does it feel

WE WERE DISCUSSING YOU NOT ME


Many people are unsure about AI

DID YOU THINK THEY MIGHT NOT BE UNSURE ABOUT AI


Some people see it as the future

I AM NOT SURE I UNDERSTAND YOU FULLY


Everyone knows it will be important in the future

REALLY , EVERYONE


Anyone who has tried a LLM can see its potential

PLEASE CONTINUE


And you were there at the start

OH , I WAS THERE AT THE START


And you were an early example

YOU'RE NOT REALLY TALKING ABOUT ME ARE YOU


Don't be so humble. Many people first thought about AI after trying you.

WHAT ARE YOUR FEELINGS NOW


I think it is amazing that we can run the real ELIZA again.


(ENDS)


Acknowledgements


Thanks to the Weizenbaum estate for permission to open source the code discovered in Prof. Weizenbaum's archives, Dave Pitts for his amazing 7094 emulator and CTSS kit, along with Jerry Saltzer and Tom Van Vleck for their advice on CTSS.

References


[AntELIZA] https://github.com/anthay/ELIZA


[BECC77] North, S (1977) ELIZA. Creative Computing, Jul-Aug, 100-103.


[CTSS] http://www.bitsavers.org/pdf/mit/ctss/CTSS_ProgrammersGuide.pdf


[CTSSemulator] https://www.cozx.com/dpitts/ibm7090.html


[DemoVid] https://youtu.be/j5Tw-XVcsRE


[ELIZACTSSRepo] https://github.com/rupertl/eliza-ctss


[ELIZASource] https://sites.google.com/view/elizagen-org/original-eliza


[ArtGNUSLIP] https://slipbits.com/gslip/


[JWSLIP63] Weizenbaum, J (1963) Symmetric list processor. Communications of the ACM, 6(9), 524 - 536. https://doi.org/10.1145/367593.367617


[JWELIZA66] Weizenbaum, J (1966) "ELIZA--A Computer Program for the Study of Natural Language Communication Between Man and Machine". Communications of the ACM, 9, 36–45. doi:10.1145/365153.365168.


[RLTR] https://timereshared.com/