Open source · Rust · bare metal

The operating system where the agent is the driver.

A bare-metal OS, built from scratch in Rust — no POSIX, no libc, no ELF. A tiny language model runs on the silicon, and a capability-checked, audited ABI means it can plan anything and only do what it was granted.

Still in active development — use it at your own risk.
x86_64 + aarch64no_std Rustruns on QEMU · VirtualBox · real UEFI0 lines of libc

The core idea

A hard determinism boundary

The model’s output is an untrusted plan. It never causes a side effect directly — it is parsed, grammar-constrained, capability- and taint-checked, and only then executed by deterministic native code. Above the line: stochastic. Below: deterministic.

stochastic

Agent plans

A tiny on-device LLM proposes an action as grammar-shaped tool calls.

the boundary

Synapse gate

Grammar-validated, capability-checked, taint-checked, and audited — every call.

deterministic

Native executor

Only vetted primitives touch memory, disk, network, and the screen.

Delegation only ever narrows authority · a skill is bounded by its install-time grant, forever · prompt-injection-as-privilege-escalation is refused at the OS boundary.

3-min demo — boots · chats · browses the live web · plays H.264 · talks

What’s inside

A whole OS, from scratch

Everything is hand-built for bare metal — no host OS underneath any of it.

🧠

On-device inference

CPU LLM inference on GGUF models with hand-written SSE2/AVX2/NEON kernels, SMP across cores. No cloud, no host.

🌐

Real web browser

An in-kernel browser: HTML + CSS/flexbox layout, paint, forms, SVG, and its own small JavaScript engine.

🎬

H.264 video

A baseline + High/CABAC decoder & player, validated bit-exact against ffmpeg — decoding on bare metal.

🎙️

Voice, on-device

Speech-to-text and text-to-speech through an in-kernel ONNX interpreter. Talk to the OS, fully offline.

🔒

Capability security

An unforgeable capability ABI with an append-only audit log. Authority is always intersection(requested, granted).

🌍

Networking + TLS

A full TCP/IP stack with real certificate verification — pure Rust, no ring, built to run no_std.

🪟

Windowed console

A tmux-style compositor: panes, tabs, mouse, an editor, syntax highlighting — and installable themes + wallpapers.

🧩

Agents & wasm apps

Installable, signed agent packages (SOUL + skills + manifest) from a public registry, plus sandboxed wasm “apps”.

🔌

MCP client

Connect Model Context Protocol servers over HTTP/JSON-RPC — each remote tool registers as a native agent tool, taint-tracked.

💬

Messaging channels

Drive the shell agent from external inboxes — Telegram live, Discord/Slack next. Every DM runs on a fresh model context.

⚙️

One image, real hardware

Dual-arch from one codebase; discovers hardware like real firmware. Boots on QEMU, VirtualBox, and UEFI metal.

Get started

Boot it in five minutes

Grab a prebuilt image, or build from source. It’s still in active development, so use it at your own risk.

Run a prebuilt image
# download from the Releases page:
#   chitti-aa64.img  (Apple Silicon / ARM, UEFI)
#   chitti.iso       (x86_64 PC)

# write to USB (⚠ erases the target):
sudo dd if=chitti-aa64.img of=/dev/rdiskN bs=4m

# …or attach it to an EFI-enabled VM
Build from source
git clone https://github.com/chittios/chitti
cd chitti

make run ARCH=aarch64   # QEMU + HVF on Apple Silicon
make image ARCH=x86_64  # build a bootable ISO
make test              # in-kernel unit suite
Heads up: ChittiOS is under active development and is not stable. It’s a research OS — interfaces and on-disk formats change without notice; it may crash or fail to boot. Use it at your own risk.

Honest status

What works today

It’s early and audacious. Here’s what actually runs on the metal right now:

* in progress — not finished yet.