Relic is a minimal coding agent in the style of Claude Code, written in portable C99 so it runs on very old operating systems and machines with very little memory. It makes next-to-no assumptions about what the environment provides: HTTP, JSON output, and the terminal UI are hand-rolled on top of a tiny per-platform porting layer.
If your machine can run the real Claude Code, or a similar coding agent, you should run that instead. Relic is for hardware and operating systems that can't.
Downloads for all supported platforms can be found in the latest GitHub release. If you want to try it out on an old device for fun, check out windows95, where Relic is pre-installed.
Supported platforms
| Target | Operating systems | Runtime requirements |
|---|---|---|
| posix | any modern POSIX (macOS, Linux, *BSD) | libc, BSD sockets |
| win16 | Windows 3.1 and newer (1992) | 386 enhanced mode, WINSOCK.DLL (Winsock 1.1: MS TCP/IP-32 on WfW 3.11, or Trumpet) |
| win32 | Windows 95 and newer (1995) | KERNEL32, USER32, WSOCK32 (Winsock 1.1) |
| macppc | PowerPC Mac OS 8.1–9.2.2 (1998); also runs in OS X's Classic environment | Open Transport TCP/IP, AppleScript |
| osxppc | PowerPC Mac OS X 10.1–10.5 (2001); Intel 10.4–10.6 via Rosetta | Terminal.app |
| xbox | Microsoft Xbox (2001) | ability to run unsigned XBEs, USB keyboard |
| wii | Nintendo Wii (2006) | Homebrew Channel, SD card, USB or GC keyboard |
Requirements
- 4 MB of RAM and about 400–900 KB of disk for the program itself
- A working TCP/IP connection to the internet
- An Anthropic API key (put it in
RELIC.CFGnext to the program, or setANTHROPIC_API_KEY)
Tools implemented
- Shell: run code (bash, command.com, AppleScript, or embedded Lua — whichever the target has)
- Read: read a file
- Write: write a file
- Edit: replace a string in a file
- LS: list a directory
- Grep: search file contents
- Glob: match file paths against a pattern
Slash commands
Type / on its own at the prompt to list these. Anything that doesn't start
with / is sent to the model as a prompt.
| Command | Description |
|---|---|
/help |
show the command list |
/status [KEY [VAL]] |
show version, cwd, API key, session and config; with KEY VAL, change one setting (model, proxy, ip, verbose, yolo, edits, tools, max_tokens) |
/clear |
clear the current conversation history (alias /reset) |
/resume [N] |
list saved sessions, or switch to session N |
/export [PATH] |
write the transcript to a text file (defaults to RELICnnn.TXT; /verbose adds a debug header) |
/model [NAME] |
list models available to your API key, or switch to NAME |
/test SUB |
run a self-test: network (DNS/TCP/TLS to the API host) or tools (shell + Read/Write/Edit round-trip) |
/proxy [HOST:PORT] |
set an HTTP CONNECT proxy; blank clears it |
/scroll |
open the scrollback viewer (same as pressing PgUp at an empty prompt) |
/verbose [N] |
toggle or set the trace level |
/quit |
exit (alias /exit) |
Safety
Relic is a thin pipe between an LLM and your shell. There is no sandbox on any platform. There are no safeguards other than permission prompts.
Building
See docs/BUILDING.md for build instructions, and docs/DECISIONS.md for the design rationale.
License
See LICENSE. This is a personal project and not affiliated with any company.
