Cellar turns any modern Android phone — no root required — into a rootless Linux server built to run AI agents: machines you tap to create, agent stacks you tap to install, schedules that respect battery and heat.
Phones lost the server wars for reasons that stopped mattering the moment the workload became an AI agent waiting on a model API.
An agent harness spends >95% of its life waiting on model APIs. The overhead of rootless Linux — the thing that makes phone-hosted databases slow — barely shows up in agent workloads.
Notifications, SMS, location, sensors, battery. Cellar's permission-gated bridge gives an agent your real-world context — off by default, audit-logged always. That's the feature no cloud box can copy.
8–16 GB of RAM idling in your pocket 22 hours a day — and the retired phone in your drawer is a free, always-plugged server with a battery for a built-in UPS.
One static Go binary drives proot machines — full Linux
distros in your pocket, no root, no VM, no telemetry. The app is a frontend;
everything it does, a terminal (or an agent) can do too.
Real distro rootfs images, sha256-verified, one command (or tap) each. Start daemons detached with logs; stop, export, delete. Read commands speak JSON.
One-tap stacks: claude-code, python-uv, node,
sshd — with local models and MCP kits on the roadmap. Idempotent,
shellcheck-gated, honest about footprints.
API keys live in Android Keystore, injected as env vars at start, never written
into a rootfs, never included in an export. (Today: -e KEY=... on the CLI.)
“Run my research agent at 2 a.m., only while charging, only under 40°C.” Heat and battery aren't bugs here — they're first-class scheduling inputs. (Planned — ships with the app.)
Every “Linux on your phone” pitch dies the moment it overpromises. This section ships with the product.
Phones reboot, overheat, and leave the house. Cellar is a personal lab — agents run as scheduled bursts, not five-nines daemons, and the UI says so.
Everything runs under one Android UID. Machines organize your work; they don't defend against hostile code. Run things you trust — real VM isolation arrives if/when Android's AVF opens up.
proot taxes syscall-heavy work, Android kills greedy background processes, and 24/7 serving cooks phones. The docs list every constraint and the engineering that answers it.
The engine runs today under Termux, before the app ships. If you can install an APK, you'll manage this.
# one-time setup $ pkg install proot golang git $ git clone https://github.com/Airn0x/Cellar # source opens with the beta $ cd Cellar/engine && go build -o cellar . # a Debian machine with Claude Code inside, on your phone $ ./cellar create dev --distro debian downloaded 90.3 MB, sha256 ok machine "dev" ready (debian trixie) $ ./cellar apply dev claude-code $ ./cellar exec dev -e ANTHROPIC_API_KEY=sk-… -- claude -p "hello from my phone"
proot — userspace fake-root that works on
every stock Android phone. That's also its main limitation: no kernel namespaces, no
real containers, no ports below 1024. The plan explains the
trade honestly.