A real Linux shell.
In your browser.

Type a command, it runs on a hosted Linux box through OpenRouter Shell, and you get back whatever it actually printed. Works on your phone too.

session · primary
shellnet · off
$

                
openrouter:shellexit 0 · 0.8s
Two ways to use it

The real shell, or Lite.

You pick one during setup and can switch whenever you want in Settings.

>_ termio shellreal

Your commands actually run.

Everything runs in an isolated Linux container on OpenRouter. What you see is the real output, errors included.

  • Real Ubuntu box with real files
  • Python, Node.js and npm already installed
  • Upload and download files
  • Network access if you turn it on
  • Works with any tool-capable model
Runs on your OpenRouter key. Usually a few cents or less per command.
>_ termio litefree

A simulated terminal.

Nothing actually runs. A model reads your command and writes what a terminal would probably print, so it can be wrong sometimes.

  • Free with OpenRouter's free models or a free Mistral key
  • Or use your own OpenAI, Claude, Gemini, xAI, DeepSeek or Groq key
  • Remembers what you "did" earlier in the session
  • Shows a LITE badge so you know it's fake
  • No real files, network or execution
Good for messing around or learning commands without spending anything.
Cost

Usually a few cents.

Termio itself is free and I don't take a cut. The shell runs on OpenRouter using your own key, so you just pay them for what you use, and for most commands that's a few cents or less.

Where the cents go

Two things: the model's tokens (depends on the model, cheap ones are really cheap) and the time the container spends running your stuff.

container time$0.0001/sec
waking up a container$0.003
container sitting idle$0

You'll need a bit of credit on your OpenRouter account, even with free models, since container time still counts. OpenRouter's docs ↗

Want it completely free? Use Lite.

Termio Lite runs on OpenRouter's free models (around 50 requests a day) or a free Mistral key (around 1B tokens a month right now). It won't touch your OpenRouter credits.

Just remember it's simulated. Fine for playing around, not for when you need the real output.

Try Termio Lite
The real shell

An actual Linux box,
not a fake one.

01

Isolated container

Commands run on a real hosted Linux machine. No emulator, no WebAssembly thing pretending to be a shell.

02

Exact command strings

Quotes, pipes, redirects, variables, multiline stuff. It goes through exactly how you typed it.

03

Real output

You see what the command actually printed, errors and exit codes included. ls and df columns stay lined up too.

04

One command, one run

It runs what you typed and waits for the next one. It won't go off retrying stuff on its own.

05

Files that stick

Upload files, work on them, download the results. Stuff in your home folder is still there after the container sleeps.

06

Pick any model

Try a model for one session or make it your default. Prices come straight from OpenRouter.

Network

No internet unless you want it.

Network is off by default. Turn it on and the container can only reach an allowlist, not the whole internet.

A few defaults are there for package managers, and you can add your own domains. Local stuff, private IPs and raw IPs get blocked no matter what.

container → allowliston
  • api.github.com default
  • pypi.org default
  • *.pythonhosted.org default
  • + your custom domains

What it does

  • Runs commands in a hosted Linux container
  • Returns real stdout and stderr
  • Keeps home directory files between sleeps
  • Reaches allowlisted domains when networking is on
  • Has a free Lite mode if you just wanna play around

Where the limits are

  • Can't touch your phone, computer or local files
  • Not a VPS, not a bot host, not a web server
  • Commands time out after 2 minutes by default (5 max)
  • No interactive full-screen apps like vim or top
  • Doesn't generate images, video or audio

openrouter:shell is in beta, so Termio is too. It's bound by whatever the hosted container allows, and I can't grant root or install things the environment doesn't support. Model availability, pricing and container lifetime are controlled by OpenRouter, not Termio.

Full behavior is in the OpenRouter Shell docs. Bugs or feedback: the Discord server, or DM blank9485._

Models

Any tool-capable model.

Pulled live from OpenRouter. Prices per 1M tokens, input / output.

Loading models…
 plus a tiny bit for container time

FAQ

The questions people actually ask, including the dumb ones.

Basics

Is this just an AI with a fake terminal prompt thrown on top?

Not in Termio Shell. Commands run inside a real isolated Linux container and the output you see is the actual stdout and stderr those commands produced.

The AI turns what you type into a shell call, but it isn't making up the output. If you create a file, run Python, compile code, install a package, or completely mess up a command, that happens inside the container. Verify it yourself:

uname -a
cat /etc/os-release
id
ps aux
df -h

You can even download a Linux root filesystem and chroot into Alpine. That's a real userspace on the sandbox's kernel, not a model roleplaying a terminal.

The one exception is Termio Lite, which is fake on purpose. It's the free mode where a model guesses the output, and there's a LITE badge whenever you're using it so you don't mix them up.

What's the difference between Termio Shell and Termio Lite?

Termio Shell actually runs your commands in a Linux container through openrouter:shell. Real files, real errors, real everything. It uses your OpenRouter key, usually a few cents or less per command.

Termio Lite doesn't run anything. A model just guesses what the terminal would print. It's free with OpenRouter's free models or a free Mistral key, but since nothing really ran, it can be wrong.

So basically: Shell when you need the real thing, Lite when you're just messing around.

Do I need an account?

Not a Termio one, that doesn't exist. You just need an API key: OpenRouter for Termio Shell, or OpenRouter / Mistral / whatever provider you want for Lite.

Your key stays in your browser and goes straight to the provider. There's no Termio server for it to touch.

What devices does Termio support?

Anything with a decent browser. Phones, tablets, laptops, desktops, even a TV if its browser isn't trash.

Can you use Termio on a TV? Technically, yes. Should you type Linux commands with a TV remote? Unless you have several years to spare, probably not.

Why make this when I can already use Shell on OpenRouter?

Because you can. Nobody is stopping you.

Termio literally uses openrouter:shell underneath. It just wraps an actual terminal around it, with sessions, history, files, network controls, model picking, and a free Lite mode.

If you'd rather use OpenRouter Shell directly, go for it. I made Termio because I wanted to. Not every project needs to solve a previously unsolved problem.

Is there a Discord server?

Yep. Come report bugs, show off what you got running, or just hang around.

Join the Termio Discord server ↗

Cost

Does Termio cost money?

A little. Usually a few cents.

Termio itself is free. The shell runs on OpenRouter with your own key, so you pay them for the model's tokens plus the time the container spends running. With a cheap model that's usually a few cents or less per command.

You'll need a bit of credit on your OpenRouter account though, even if you pick a free model, since container time still counts.

If you don't want to spend anything at all, use Termio Lite.

Okay but how much exactly?

Container time is $0.0001 per second while your command runs. Waking up a new or sleeping container counts as at least 30 seconds, so $0.003. After that, a warm container only pays for what it uses, and it costs nothing while it's just sitting there.

On top of that you pay for the model's tokens, which depends on the model. Prices show up in the model picker.

So a cheap model gets you a lot of commands for a dollar. Premium models and huge sessions will obviously eat more.

OpenRouter Shell docs ↗

What happens if I run out of credits?

Commands stop working and Termio tells you you're out of OpenRouter credits. It won't fake any output. Top up, or switch to Lite in the meantime.

Does the developer get any of the money?

Nope. No cut, no subscription, nothing in between. You pay OpenRouter (or your Lite provider) directly with your own key.

Why does a simple command use like 10K–20K tokens?

Because the command itself isn't using 20K tokens. There's a lot more happening behind the scenes.

The model gets Termio's instructions, the tool definition, shell info, previous results and the rest of the session before it runs anything.

So you might type:

fastfetch

and think, "that's literally one word."

Meanwhile the model is apparently writing its autobiography backstage.

Pick a cheap model and it doesn't really matter. Pick a premium one and you'll feel it.

Termio Lite

What is Termio Lite?

A fake terminal, on purpose. Instead of running your command, a model reads it and writes what the terminal would probably print.

It's off by default. You can pick it during setup or turn it on later in Settings.

How do I use Lite for free?

Two ways:

  • OpenRouter free models. Just grab a free OpenRouter key. You get around 50 requests a day.
  • A free Mistral key. Mistral gives you around 1B tokens a month for free right now, which is a lot.

Those limits are up to OpenRouter and Mistral, so they can change.

Is Lite output real?

No. Nothing runs, so it's an educated guess. Most of the time it looks right, sometimes it's confidently wrong.

Don't use it to check if a script works or to trust a result for anything important. That's what the real shell is for.

Which providers work with Lite?

OpenRouter (free models), Mistral, OpenAI, Anthropic (Claude), Google Gemini, xAI (Grok), DeepSeek and Groq.

Add your key, pick a model, and it plays the terminal. If you use your own paid key, that provider bills you, not OpenRouter.

Termio isn't affiliated with any of them btw.

How do I know if I'm in Lite or the real shell?

There's a LITE badge in the top bar when you're in Lite. No badge means your commands are really running.

Does Lite remember what I did earlier?

Yeah, within the session. If you "make" a folder, later commands try to stay consistent, so ls after mkdir test should show test.

It's still a model keeping track, not a real filesystem, so in long sessions it can forget stuff.

Can Lite run vim, top, or ssh?

No. Interactive stuff isn't supported, you'll just get an error instead of a fake vim screen.

Can I switch between Shell and Lite?

Yep, whenever you want in Settings.

Where does my Lite key go?

Same as your OpenRouter key: it stays in your browser and goes straight to that provider when you run a command. If you use your own key in Lite, your commands go to that provider instead of OpenRouter.

Using the shell

Does it have Python and Node.js?

Yes. Python 3, Node.js and npm are installed by default, so you can use them right away:

python3 --version && node --version && npm --version

Or run some Python directly:

python3 -c 'print("Hello from Termio!")'
Do my files stick around?

Mostly. Commands run in your home directory. When the container sleeps (after 5 minutes idle), files in home are saved and loaded back next time.

What's not restored: running processes, environment variables, and system-level stuff like packages you installed with apt. Files outside home aren't saved either.

OpenRouter keeps saved container files for 30 days after the container was last used. Termio can also back up changed files to your browser so a fresh container doesn't wipe your work.

How long can a command run?

2 minutes by default, 5 minutes max per command. After that it times out and you'll see the timeout instead of output.

Long builds, huge downloads or anything that's meant to run forever aren't a good fit.

Can I switch models without changing my default?

Yes. In the model picker, Try model switches only the current session. If you like it, Make default saves it for future sessions.

Each model also has a details page with pricing, context length, supported input/output types and its description. Shell needs a model that supports tool calling.

Is this fully stable? Can I install any tools?

Probably, yeah. It depends on the tool. A lot of normal Linux packages should work, but some won't because of sandbox or network limitations. You'll need networking on and the right domains allowlisted for most installs.

Termio and openrouter:shell are both still in beta, so expect the occasional bug or something randomly deciding it doesn't want to work today.

How do I run another Linux distribution inside Termio?

Termio's container runs Ubuntu, but you can run an Alpine userspace inside it with chroot, which also gets you Alpine's apk package manager. Here's the full walkthrough, using Fastfetch as the example.

1. Enable networking
Networking is off by default. Turn it on and add this custom domain to the allowlist:

dl-cdn.alpinelinux.org

2. Download the Alpine Mini Root Filesystem
Termio runs on x86_64, so grab the x86_64 rootfs:

wget https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-minirootfs-3.20.9-x86_64.tar.gz

Check it downloaded:

ls -lh alpine-minirootfs-3.20.9-x86_64.tar.gz

3. Extract Alpine

mkdir -p /alpine && tar -xzf alpine-minirootfs-3.20.9-x86_64.tar.gz -C /alpine

4. Verify Alpine works
Each command runs on its own, so an interactive chroot won't persist between commands. Pass the command straight to Alpine instead:

chroot /alpine /bin/sh -c 'cat /etc/os-release'

You should see something like:

NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.20.9
PRETTY_NAME="Alpine Linux v3.20"

5. Set up DNS and TLS certificates

cp /etc/resolv.conf /alpine/etc/resolv.conf
mkdir -p /alpine/etc/ssl/certs
cp -a /etc/ssl/certs/. /alpine/etc/ssl/certs/

Skip this and apk will probably throw TLS certificate errors at you.

6. Update Alpine's package index

chroot /alpine /bin/sh -c 'apk update'

7. Install and run Fastfetch

chroot /alpine /bin/sh -c 'apk add fastfetch && fastfetch'

It should report something like:

OS: Alpine Linux 3.20.9 x86_64
Kernel: Linux 6.18.36-cloudflare-firecracker-...
Packages: ... (apk)
Shell: sh

To be clear: this isn't booting another kernel or a VM. chroot just gives the process Alpine's userspace and root filesystem, on top of Termio's existing kernel.

Note: since /alpine is outside the home directory, it won't survive the container sleeping. Extract it under ~ if you want it to stick around.

Can I work with images?

Probably. I haven't tested image tools much, so no promises.

It depends on the tool, its dependencies, and whether it plays nice with the sandbox. If it works, nice. If it explodes, well, now we know.

I don't know how to install X. What command do I use?

Termio can't magically give you a command that installs anything you name.

It assumes you already know your way around Linux. Different software has different install methods, dependencies and repos, and some of it just won't work inside the sandbox.

If you're still learning, Termio Lite is a decent free place to practice commands without burning credits.

The dumb ones

Can I run GTA 6?

Sure, if you can fit it into about 1.2GB of RAM and 3.7GB of disk. So, no.

And no, Termio Lite can't "simulate" it either. It'll just tell you the command wasn't found, which is honestly the most realistic output possible.

Does this mean I can host bots on it?

No. The container sleeps after 5 minutes idle, commands time out after a few minutes, and background processes don't survive. It's a terminal, not a hosting plan.

Does this mean I can DDoS people!!??

Obviously not. What did you think this was?

You're probably not DDoSing anyone from your own PC, never mind from a tiny sandbox with allowlisted network access.

And if you try anyway, you've found a remarkably stupid way to get your OpenRouter account banned and potentially reported to the relevant authorities. Termio is a terminal, not a complimentary botnet.

Can I hack people?

No. Termio isn't for breaking into accounts, attacking systems, or anything else you very obviously don't have permission to do.

Having a Linux shell does not come with a complimentary license to commit cybercrime.

Can I sue the developer or OpenRouter if my account gets banned or I get caught by the feds?

No. Nice try.

If you paste some random "ULTRA MEGA HACK TOOL 2026" from GitHub without understanding a single line, break OpenRouter's rules and get banned, that's not suddenly the developer's problem.

Termio comes with a Linux shell, not legal immunity for script kiddies.

Go type something.

Nothing runs on your device, so you can't break anything. Probably.