DEV Community

Gabriel Guzman
Gabriel Guzman

Posted on • Originally published at lifewaza.com on

OpenClaw On Ubuntu 25

OpenClaw Challenge Submission 🦞

This is a submission for the OpenClaw Writing Challenge

I wanted to play around with OpenClaw, but didn’t want to install it directly on my computer. I’m running Fedora 42 on this laptop and it comes with a virtualization app called β€œBoxes” which lets you create virtual machines (VMs) running just about anything you need.

I downloaded the .iso for Ubuntu 25 from the Ubuntu website and installed it onto a fresh VM.

I provisioned the VM with 30GB of hard drive space and 4GB of RAM. I’m pretty sure it can run on less, but I didn’t want to run into resource constraints while playing around.

I checked the OpenClaw docs to see how to install it, and it said I should just be able to do an npm install -g openclaw@latest, but when I tried that I didn’t have nodejs installed, so needed to install that first.

At first I installed the stock nodejs that’s included as a package with Ubuntusudo apt install nodejs but that ended up being too old (version 20) to support OpenClaw (needs 22+), so I uninstalled that and downloaded nodejs directly from the nodejs website

Download and install nodejs

I browsed to https://nodejs.org/en/download and followed the docs on that page:

# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

# Download and install Node.js:
nvm install 24

# Verify the Node.js version:
node -v # Should print "v24.13.1".

# Verify npm version:
npm -v # Should print "11.8.0".
Enter fullscreen mode Exit fullscreen mode

That went smoothly, so I continued with the OpenClaw installation.

Install OpenClaw

This time npm install -g openclaw@latest worked.

Run OpenClaw quickstart

I ran the onboard sub command as specified in the docs:

openclaw onboard --install-daemon
Enter fullscreen mode Exit fullscreen mode

And that ran me through a straightforward installer, which allowed me to pick an LLM provider and optionally install some helpers as well as configure communication channels. It helpfully told me that I needed to install homebrew as apparently many OpenClaw helpers are distributed via homebrew.

I attempted to configure Signal as well, but that didn’t seem to work on the first attempt. I’ll have to debug that later.

After finishing the onboarding, OpenClaw asked me β€œHow do you want to hatch your bot?” I picked TUI (recommended) and then it errored out:

Pairing required. Run `openclaw devices list`, approve your request ID, then
reconnect.
Enter fullscreen mode Exit fullscreen mode

I exited the onboarding and tried to do what was asked:

$ openclaw devices list

🦞 OpenClaw 2026.2.21-2 (35a57bc) β€” Your inbox, your infra, your rules.

β”‚
gateway connect failed: Error: pairing required
Enter fullscreen mode Exit fullscreen mode

But that didn’t seem to work. I tried running that a few times, and while I can see that there’s a request β€œpending” I’m not sure where to go to approve it.

Pending (1)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Request β”‚ Device β”‚ Role β”‚ IP β”‚ Age β”‚ Flags β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1d9bb16c-0492-4c34-bd4e- β”‚ opencl β”‚ operat β”‚ β”‚ just β”‚ repair β”‚
β”‚ 345ae2fae3bb β”‚ aw-tui β”‚ or β”‚ β”‚ now β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Enter fullscreen mode Exit fullscreen mode

After poking around for a bit, I saw that there was another command to open the dashboard openclaw dashboard. I ran that, and for some reason, that worked even though the TUI wouldn’t.

Run OpenClaw dashboard

openclaw dashboard

When the dashboard came up I had a nice chat window and I could start talking to my new bot.

Request approval

I figured out how to approve the TUI request. After you’ve listed them, you need to copy the Request ID () and then pass that ID to the approve sub command:

$ openclaw devices approve b37ec0e0-a1ba-48ef-b477-0adb3cf012a9
Enter fullscreen mode Exit fullscreen mode

Then openclaw tui should work.

Now what?

Ok, cool, so now I have OpenClaw up and running in its own VM and I can start playing with it. It named itself Patch, by the way.

Alternatives

I’ve been seeing a bunch of neat alternatives to OpenClaw lately as well.

Here’s one that runs entirely in the browser, fully sandboxed: https://www.openbrowserclaw.com/ on a VM running inside WASM (technology is amazing).

Here’s one that’s built in Python: https://github.com/openconstruct/freeclaw

And another one in Go: https://github.com/louisho5/picobot

I expect the landscape to change pretty quickly and that in 6 months we’ll be using something totally different.

Top comments (0)