Claude31
Claude31 is a small agentic coding harness for Windows 3.11. It contains an editor with syntax highlighting, a project tree and an agent that reads, writes, builds and runs C programs on your machine, talking to Anthropic’s Claude over TLS.
It is a 16-bit Windows program that runs both in x86 virtual machines and on actual x86 hardware.

This 1.44 MB floppy disk image holds the complete Claude31 source, but no executable; INSTALL.BAT builds it using the open source OpenWatcom toolchain (once you have installed it as described below).
Claude31 is free software released under the GNU GPL version 2.
Requirements
Software:
- MS-DOS 6.22
- Windows for Workgroups 3.11, running in 386 enhanced mode
- Microsoft TCP/IP-32 for Windows for Workgroups (install via Network Setup > Network Drivers > Unlisted or Updated Protocol)
- OpenWatcom v2 (the open-watcom-v2 project on GitHub). Download from the releases page — use the open-watcom-2_0-c-win16.exe installer and install to
C:\WATCOM - If installing on a virtual machine,
OAKCDROM.SYSmay be helpful to get the WATCOM installer into your environment via emulated CD-ROM drive. You can find this on a Windows 98 boot disk.
Virtual Machine:
Create an 86Box VM with the following settings:
- [1993] Socket 4, [i430LX] Intel Premiere/PCI, 32 MB RAM
- CPU: Intel Pentium (P5), 66 MHz, no Softfloat FPU
- Display: [ISA] Tseng Labs ET4000AX
- Input: PS/2 Keyboard, PS/2 Mouse
- Sound (optional): [ISA] Sound Blaster v1.0
- Network: [ISA] Novell NE2000, SLiRP mode
- Serial Port: COM1 on named pipe (if you want Claude31’s logs)
- Storage Controllers: skip
- Hard Disk: [Generic] RAM Disk, 504 MB (CHS: 1024, 16, 63), IDE
- Floppy drive: 1x 3.5" 1.44M
- CD-ROM Drive: ATAPI bus, 0:1 channel, 8x speed, 86Box 86B_CD 3.50
Bare Metal Hardware:
Claude31 has been tested on the Asus Eee PC 4G Surf. It may run on other machines, but the TLS handshake may make it unbearably slow on period-appropriate hardware. You will need to use the dd utility to create an MS-DOS boot disk on a USB stick, boot to that, and install MS-DOS 6.22. If the Eee previously ran Linux, you may also need to run FDISK /MBR to make the SSD bootable. Once MS-DOS 6.22 is installed, you can install Windows.
Note that the Eee PC’s BIOS treats any thumb drive you booted from as a floppy disk drive (A:), and any other disk attached at boot as an extra hard drive (D:). The SSD is your C: drive.
If using the Asus Eee PC, you will also need to download this driver to use the Ethernet adapter. When running Windows setup, tell Windows that you have an unlisted network card, and point it to this driver.
Install
- Install OpenWatcom. When you do, run a “Selective installation”, and under “Target operating systems” ensure both Windows 3.x and DOS targets are checked. Leave all other options at defaults.
- Put this disk in A: (or D:) and, in File Manager, select the drive.
- Double-click
INSTALL.BAT. INSTALL copies everything toC:\CLAUDE31, buildsCLAUDE31.EXEfrom source, and installs it. The build takes a few minutes emulated; it is much faster on the Eee’s Celeron-M. - Run
C:\CLAUDE31\CLAUDE31.EXE. On the first run it asks for your API key and COM port where it can dump its logs (the Eee PC has no COM port). Both settings go intoC:\CLAUDE31\HARNESS.INIand can be changed later via File > Setup.
How to Use
File > New Project...— type a full path, likeC:\PROJECTS\HELLO, and press OK. The folder is created, along with some project structure and a MAKEFILE that buildsSRC\HELLO.CtoBUILD\HELLO.EXE.File > Open Project...— open thePROJECT.C31file in any Claude31 project folder to open that project.
Enter a task in the bottom box and press Enter; for example:
Write a program that shows the time in a window. Build and run.
The log shows the agent’s replies, and every command it runs. Pressing the Escape key while in the task box stops a task. The agent can read, write, edit, list, delete and rename files in the project, run wmake or the compiler, and run a program. NOTE: It cannot see the screen, or for that matter anything the program prints! If your program crashes, or something looks weird, say so in the chat.
Each project keeps its ongoing conversation in a file, TRANS.TXT in the project root. File > New transcript clears it. The transcript is how the agent knows what came before; you can clear it in between unrelated tasks.
The editor saves files exactly as UTF-8. The diskette’s copy of GNU Unifont includes coverage for the Latin-1 range, punctuation, arrows, symbols and box drawing characters; anything else shows as a small box.
Having Claude31 Change Itself
The full source for Claude31 is installed in C:\CLAUDE31\SRC. Go to File > Open Project, open C:\CLAUDE31 and ask for the change; the agent edits the source and builds BUILD\CLAUDE31.EXE. To use the new build: quit Claude31, then open C:\CLAUDE31 in File Manager and double-click INSTALL.BAT to install your new build (the old executable is backed up as CLAUDE31.BAK, in case you need to restore it).
Settings (HARNESS.INI)
- [api] —
key,model(defaultclaude-sonnet-5),max_tokens(16000),effort(low, medium, high, xhigh, max) - [net] —
timeout(seconds before giving up, default 60),keepalive(keeps the TLS session open between turns) - [agent] —
max_turnsper task (8),run_timeoutfor@@RUN(10 s) - [compile] —
watcom(default:C:\WATCOM),timeoutfor a build (180 s) - [log] —
com(mirror the log to a serial port, blank to disable),baud(baud for the serial port),file(when 1, also writesLOG.TXTbeside the program) - [project] —
dir(the default project to open at start) - [font] —
unifont(path toUNIFONT.BINfor more Unicode coverage)
Security
Not great! Compromises were made to get this working on a 1993-era OS:
WOLFSSL.DLLis a 16-bit build of wolfSSL that does not verify server certificates, and uses a weak random number generator.- Your API key is stored in plain text in
HARNESS.INI, and is sent via a TLS session that a motivated attacker could read.
Use an API key created specifically for this machine, give it a hard spending limit, and delete it when you are done. Nothing on this disk is safe on an untrusted network, as was the fashion at the time.
Source and License
- Claude31: GNU General Public License, version 2
WOLFSSL.DLL: wolfSSL 5.5.4, GNU General Public License, version 2. Source available at dialup.netUNIFONT.BIN: GNU Unifont 17.0.05, SIL Open Font License version 1.1. Source available at unifoundry.com