{"slug": "someone-build-a-os-for-claude-code", "title": "Someone Build a OS for Claude Code", "summary": "A developer created ClaudiOS, a Linux distribution based on Ubuntu 24.04 LTS that boots directly into Claude Code, replacing the traditional desktop interface with an AI agent. The OS provides full system access through Claude, allowing users to install packages, write code, manage files, and browse the internet via a TTY interface. ClaudiOS can be flashed to a USB stick for portable use and includes features like USB persistence, passwordless sudo, and an escape hatch to bash.", "body_md": "**What if your entire OS was just Claude Code?**\n\nA Linux distro that boots straight into [Claude Code](https://claude.ai/code). No desktop. No window manager. Just a TTY and an AI agent with full system access. Built on Ubuntu 24.04 LTS.\n\nIf Claude Code can install packages, write and run code, manage files, browse the internet, and operate your entire machine — what do you need a desktop for?\n\nClaudiOS takes this idea to its logical conclusion: the operating system gets out of the way and Claude becomes the interface. You boot, you log in, and you're talking to Claude. That's it.\n\nFlash it to a USB stick, boot any x86_64 machine, and you have a portable AI workstation.\n\n```\nsudo apt install live-build curl gnupg grub-pc-bin xorriso\nsudo ./build.sh\nsudo ./flash.sh /dev/sdX\n```\n\nReplace `/dev/sdX`\n\nwith your USB device (`lsblk`\n\nto find it). The script writes the ISO and creates the persistence partition automatically — the USB is ready to use from the first boot.\n\n## Manual flash (without persistence)\n\n```\nsudo umount /dev/sdX*\nsudo dd if=live-image-amd64.hybrid.iso of=/dev/sdX bs=4M status=progress\n```\n\nIf you flash manually, the persistence partition will be created automatically on first boot instead.\n\nLog in with `claudios`\n\n/ `claudios`\n\nand you're in Claude Code.\n\n```\nBIOS/UEFI → GRUB → Linux → TTY login\n  └─ user: claudios / password: claudios\n       └─ claudios-shell (login shell)\n            ├─ [if claude missing] auto-install via npm\n            └─ Claude Code in loop\n                 └─ Ctrl+C (3s) → escape to bash\n```\n\n`claudios-shell`\n\nis the user's actual login shell — set in `/etc/passwd`\n\n, not a `.bashrc`\n\nhack. It launches Claude Code in a loop. If Claude exits, you're prompted to restart or drop to bash.\n\n**Zero-config boot**— log in and you're in Claude Code, ready to work** USB persistence**— first boot auto-creates a persistence partition; your auth, config, and session history survive reboots** Escape hatch**— hold Ctrl+C for 3 seconds at startup to drop to a standard bash shell** Auto-install**— if`claude`\n\nisn't found in PATH, it's installed automatically via npm**Built-in slash commands**—`/reboot`\n\nreboots the system,`/shut-down`\n\nexits back to the shell**Passwordless sudo**— for system operations Claude needs (reboot, package install)**~1 GB ISO**— boots in under a minute on most hardware\n\nNo need to flash a USB to try it:\n\n```\nsudo apt install qemu-system-x86\n./test.sh\n```\n\nAlready flashed a USB? You can boot it in QEMU too:\n\n```\nsudo qemu-system-x86_64 \\\n  -drive file=/dev/sdX,format=raw \\\n  -m 4G \\\n  -enable-kvm \\\n  -cpu host \\\n  -device virtio-vga \\\n  -display gtk\n```\n\nReplace `/dev/sdX`\n\nwith your USB device (`lsblk`\n\nto find it). The ISO boots in BIOS/Legacy mode.\n\nTip:To log in to your Claude account from your PC terminal (so you can copy and paste the auth URL easily), boot with`-nographic`\n\ninstead:\n\n```\nsudo qemu-system-x86_64 \\\n  -drive file=/dev/sda,format=raw \\\n  -m 4G \\\n  -enable-kvm \\\n  -cpu host \\\n  -nographic \\\n  -serial mon:stdio\n```\n\n- Linux system with\n`live-build`\n\n`curl`\n\n,`gnupg`\n\n,`grub-pc-bin`\n\n,`xorriso`\n\n- Internet connection\n- ~10 GB free disk space\n\n`auto/config`\n\n— passes flags to`lb config`\n\n(Ubuntu Noble, amd64, GRUB bootloader)`config/package-lists/claudios.list.chroot`\n\n— packages installed in the image`config/hooks/live/*.hook.chroot`\n\n— chroot scripts (locale, Node.js, Claude Code, user creation)`config/includes.chroot/`\n\n— files copied verbatim into the filesystem\n\n```\nsudo ./clean.sh\n```\n\nTo also remove the package cache (forces a full re-download on next build):\n\n```\nsudo ./clean.sh && sudo rm -rf cache/\nclaudios/\n├── build.sh                    # Main build script (requires sudo)\n├── flash.sh                    # Flashes ISO to USB with persistence\n├── clean.sh                    # Removes build artifacts\n├── test.sh                     # Launches the ISO in QEMU\n├── auto/\n│   ├── config                  # live-build configuration\n│   ├── build                   # Wrapper for lb build\n│   └── clean                   # Wrapper for lb clean\n└── config/\n    ├── archives/               # Additional apt repositories (NodeSource)\n    ├── package-lists/          # Packages to install in the ISO\n    ├── hooks/live/             # Scripts that run inside the build chroot\n    │   ├── 0050-locale-timezone.hook.chroot\n    │   ├── 0100-install-nodejs.hook.chroot\n    │   ├── 0200-install-claude-code.hook.chroot\n    │   ├── 0300-create-user.hook.chroot\n    │   └── 0350-enable-persist.hook.chroot\n    └── includes.chroot/        # Files copied directly into the filesystem\n        ├── etc/motd\n        ├── etc/shells\n        ├── etc/sudoers.d/claudios\n        ├── etc/systemd/system/\n        │   └── claudios-persist.service\n        ├── home/claudios/.claude/commands/\n        │   ├── reboot.md            # /reboot slash command\n        │   └── shut-down.md        # /shut-down slash command\n        └── usr/local/bin/\n            ├── claudios-shell      # Primary login shell\n            └── claudios-persist    # Auto-persistence setup script\n```\n\nIf `claudios-shell`\n\nfails and you lose access:\n\n**From GRUB**: edit the kernel line and append`init=/bin/bash`\n\n**From TTY**: the`claudios`\n\nuser has sudo — use`chsh`\n\nto change the shell\n\n| Field | Value |\n|---|---|\n| Username | `claudios` |\n| Password | `claudios` |\n| API key | managed by Claude Code |", "url": "https://wpnews.pro/news/someone-build-a-os-for-claude-code", "canonical_source": "https://github.com/mateolafalce/claudios/blob/main/README.md", "published_at": "2026-06-21 18:58:37+00:00", "updated_at": "2026-06-21 19:35:14.931875+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "large-language-models", "developer-tools"], "entities": ["Claude Code", "Ubuntu", "ClaudiOS", "Anthropic", "QEMU"], "alternates": {"html": "https://wpnews.pro/news/someone-build-a-os-for-claude-code", "markdown": "https://wpnews.pro/news/someone-build-a-os-for-claude-code.md", "text": "https://wpnews.pro/news/someone-build-a-os-for-claude-code.txt", "jsonld": "https://wpnews.pro/news/someone-build-a-os-for-claude-code.jsonld"}}