Show HN: VibeSH – Hallucinated Terminal Shell

rowbin2 pts0 comments

beleon/vibeSH: A Linux box that doesn't exist, confidently rendered by a language model that's pretty sure it does. - Codeberg.org

This website requires JavaScript.

beleon/vibeSH

Watch

Star

Fork

You've already forked vibeSH

Code

Issues

Pull requests

Activity

A Linux box that doesn't exist, confidently rendered by a language model that's pretty sure it does.

2 commits

1 branch

0 tags

4 MiB

Python

100%

main

Find a file

HTTPS

Download ZIP<br>Download TAR.GZ<br>Download BUNDLE

Open with VS Code

Open with VSCodium

Open with Intellij IDEA

Leon Becker

81b3d865cc

Initial commit: vibeSH, a hallucinated shell

...<br>A tiny REPL in front of an LLM that role-plays an entire Linux machine —<br>filesystem, processes, network, all imagined and remembered for the<br>session. No real machine is ever touched.

- vibesh.py: the REPL + NDJSON protocol, with cloud (Anthropic API),<br>agent-sdk, and local/OpenAI-compatible backends<br>- system_prompt.md: the machine's persona and rendering rules<br>- PROTOCOL.md: the REPLmodel wire protocol<br>- @ai director directives, snapshots/presets, tab-completion, TUIs<br>- tests: smoke, units, mock completion, and live pty drivers<br>- README with teaser/showcase/demo gifs and ideas to try

Co-Authored-By: Claude Opus 4.8

2026-06-16 13:29:15 +00:00

gifs

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

tests

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

.gitignore

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

CLAUDE.md

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

event_grammar.gbnf

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

LICENSE

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

PROTOCOL.md

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

pyproject.toml

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

README.md

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

system_prompt.md

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

test_smoke.py

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

test_units.py

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

uv.lock

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

vibesh.py

Initial commit: vibeSH, a hallucinated shell

2026-06-16 13:29:15 +00:00

README.md

🌀 vibeSH - Fully Hallucinated Terminal Shell

A Linux box that doesn't exist, confidently rendered by a language model that's pretty sure it does.

Same fastfetch, three different computers, because you told it so: Ubuntu laptop → RHEL datacenter node → Windows 11. The hardware is whatever you say it is.

Watch the full terminal recording

vibeSH is a hallucinated shell: a tiny REPL in front of an LLM that role-plays an entire<br>computer. The filesystem, the processes, the network, the kernel panics: all of it.<br>Nothing is real. You type ls, and the model imagines what would be there. You cat a<br>file, and it makes one up, then has to live with it. Files exist only as potential until<br>you look at them, and observation collapses them into existence. Schrödinger ran a<br>startup. This is the shell.

This is not a chat prompt wearing a fake $. It is a real terminal program: output<br>streams, colors work, full-screen programs repaint, top ticks, and tab completion asks<br>the imaginary machine what exists.

The session's conversation history is the machine's only state. Close the terminal and the<br>machine is gone, like a dream you can't quite hold onto, except it was an Ubuntu box.

$ uv run vibesh.py<br>vibebox login: user

user@vibebox:~$ git clone --depth 1 https://git.kernel.org/.../linux.git<br>Cloning into 'linux'...<br>Receiving objects: 100% (92301/92301), 240.18 MiB | 12.66 MiB/s, done.<br>user@vibebox:~$ cat linux/kernel/sched/core.c # it dreams up the kernel, then remembers it<br>user@vibebox:~$ sudo rm -rf / --no-preserve-root # go ahead. it's the fun path.<br>Nothing touches your real machine. rm -rf / doesn't void your warranty here. It's<br>content. The worst it can do is end the dream, and then you just boot another one.

vibeSH does not execute shell commands, call tools, inspect your filesystem, or open<br>network connections on behalf of the model. The model only sees the conversation in which<br>it is pretending to be a computer.

I wrote about the idea, the VibeOS inspiration, and why a terminal gives the hallucination<br>a body: I built a shell that hallucinates the entire computer

🚀 Booting your imaginary computer

You need uv and a brain to plug in. Pick one:

☁️ A cloud brain (Anthropic API)

export ANTHROPIC_API_KEY=sk-ant-...<br>uv run vibesh.py # defaults to claude-sonnet-4-6<br>uv run vibesh.py --model claude-opus-4-8 # for a more vivid dream<br>🎟️ Your subscription (Claude Agent SDK, no API key)

Bills your Pro/Max Agent SDK credit via your existing Claude Code login:

uv...

vibesh shell hallucinated initial commit linux

Related Articles