Skip to content

Repository files navigation

Box — a real Linux box, inside your phone.

A Linux computer that lives on your Android phone.
Use it yourself, or give tasks to an agent working inside the same machine.

Box boots a persistent Debian VM directly on your phone.

Open the computer and use it like a normal desktop with a keyboard and mouse. Or start a task and chat with an agent that can use the same machine, files and tools for you.

No cloud VM. The computer is on the device in your hand.

What Box is for

I built Box around the setup I want when I travel: a Galaxy Z Fold 7, DeX, a portable monitor or display glasses, and a small keyboard and mouse.

Box can sit in one DeX window as a full Linux computer.

Box in Samsung DeX on a 34-inch monitor, running its Debian desktop.

If I don't have another display, I can use the same computer on the Fold's inner screen or even the cover screen.

Box running Debian on the cover screen of a Galaxy Z Fold 7.    The same Debian computer on the unfolded Galaxy Z Fold 7.

Same box. Same files. Different screen.

Use it as a computer

With a keyboard and mouse attached, Box behaves like a desktop.

Without them, the screen becomes a trackpad:

  • drag to move the pointer
  • tap to click
  • two-finger tap to right-click
  • two-finger drag to scroll
  • tap and drag to drag

Box also has its own desktop keyboard for keys that matter in Linux: Ctrl, Alt, Super, Escape, function keys and the rest.

Plug a keyboard or mouse in and use it directly.

Or give it a task

Tasks are conversations with an agent that has access to the same computer.

The first time Box opens it offers one thing to say — "Show me what's inside the box" — and answers it by doing the work: the agent reads the machine it is running on, tells you what it found, asks what you would like it to build, and builds it. Nothing about that reply is scripted. It is the same agent you get afterwards, working for the first time.

Ask it to clone a repo, fix something, run tests, work on a feature, review code, or prepare a PR. It can even work on Box itself.

The useful part is that this is not a disposable remote sandbox. The agent works inside your box, with the same persistent /workspace you can open yourself.

You can start something with the agent, open the desktop and inspect it, take over with the mouse and keyboard, then hand it back.

The tour reading the machine it runs on: uname, the Box build commit, memory and disks, each command approved in the conversation.   The tour asking what to build with tappable options, waiting for an answer in the conversation.

Commands, diffs and permission requests stay visible in the conversation. If you want the actual computer, open it.

What works today

Status
Computer Debian 12 VM running locally under QEMU; commands run and files persist.
Desktop Open the guest desktop and take over with keyboard, mouse or touch.
Phone input Relative touch trackpad plus Box's own desktop keyboard.
Agent Claude Code runs inside the VM with persistent task history. You sign in through the phone's browser — no API key to paste.
Other agents ChatGPT and Cursor are currently scripted demos.
Server preview Confirmed on hardware. A server the agent starts in the guest is forwarded to the phone and opens in a panel beside the conversation.

The main cost today is performance: the stock runtime is fully emulated ARM64, so the first boot takes a couple of minutes on a Galaxy Z Fold 7.

Install it

The latest release has a prebuilt APK:

adb install -r box-*-stock.apk

Build it

For a plugged-in ARM64 Android phone, build the guest image and app:

./tools/deploy.sh --image

After the guest image exists:

./tools/deploy.sh

Use --image again when something under guest/ changes.

Run the tests with:

./gradlew :app:testStockDebugUnitTest :runtime-qemu:testDebugUnitTest \
  && node --test guest/tests/*.mjs \
  && python3 -m unittest discover -s guest/tests

More development notes are in docs/development.md.

Layout

Module What it holds
app/ Compose UI and adaptive phone/Fold/DeX layouts
runtime-api/ Runtime interface: exec, PTY, files and sessions
runtime-qemu/ QEMU runtime and agentd client
guest/ Debian image, agentd and agent harnesses
protocol/ agentd wire protocol
docs/ Runtime, UI and development documentation

stock is the product build and carries the QEMU guest image. The avf flavor is kept for app/UI work without bundling the guest image; Android does not expose hardware virtualization to third-party apps.

About

1 tap Linux Box on Android (& Agent)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages