Fable Os banner
robiot robiot

Fable Os

Development community

Description

An agentic operating system where the kernel is controlled directly by Claude

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

fable-os

image

A from-scratch x86_64 operating system whose **only interface is a sentence**.

There is no shell, no commands, no `ls` and no `cat` — there is not one `strcmp` on the input path. You type what you want done and the kernel acts on the machine.

The kernel does its own DNS and its own TLS in ring 0, with lwIP and mbedTLS compiled into `kernel.bin` and no host proxy of any kind. It gives the model **64 real syscalls** into itself, and prints what it dispatched in C, from the real return value, so you can tell what happened from what you were told:

> I want a calculator on screen please
I'll open a calculator window for you.
[gui_open app=calculator at=40,48 size=216x266 widgets=18 -> 1]
The calculator is open and on screen (window id=1), with its display and full
keypad ready to click.

> now use that calculator to work out 7 plus 8, by clicking its keys
[gui_click id=1 widget=107 label=7 at=70,130 -> 1]
[gui_click id=1 widget=5   label=+ at=225,249 -> 1]
[gui_click id=1 widget=108 label=8 at=121,130 -> 1]
[gui_click id=1 widget=3   label== at=148,289 -> 1]
The display reads 15.

**Prose is the model. `[Brackets]` are the kernel.** On a machine with no `ls` that distinction is the only audit trail there is, so it is enforced structurally rather than promised — five separate defects have been fixed to keep it true.


Quick start

Needs a Mac with Homebrew, or the Linux equivalents.

make toolchain     # once: nasm, x86_64-elf-gcc, qemu
make run

That boots with no key: the kernel still completes a real TLS handshake to `api.anthropic.com` and gets an honest `401` back, which is itself proof the HTTPS path works. It will tell you it has no key.

Your API key

The key is **never a build input**. There is no `-D`, no generated header, and `make KEY=...` is a hard error. It travels host → guest at run