WorldTUI's Fake Terminal Scores 80 of 106 on a Shell Test Its Author Wrote
Software / news
WorldTUI's Fake Terminal Scores 80 of 106 on a Shell Test Its Author Wrote
Simon Edwardsson's 360-million-parameter model predicts screen changes from keypresses with no shell behind it, and he calls it a weak world model.

Simon Edwardsson, a co-founder of V7, trained a 360-million-parameter language model to behave as a terminal with no shell or filesystem behind it, and published the write-up on Oct. 21. The model, called WorldTUI, scored 80 of 106 on a shell test Edwardsson wrote himself, against 52 for the model it started from.
The demo is a 208 MB download that runs in the browser. Edwardsson's post says the weights will follow, with no licence given yet. The post draws 651 points on Hacker News as of this writing.
What the model does with a keypress
Each keypress goes in, and the model predicts which cells on the screen change. Edwardsson said it can create and edit files, run vim and tmux, show man pages, play a snake game and answer in a Python REPL. It can sometimes recall the contents of a file in a later command, which is the part that makes a fake terminal feel real.
It does not do this reliably. Edwardsson wrote that familiar commands work reasonably, novel combinations often break, and cat may fail to show a line that was just appended with >>. Output is monochrome, Unicode box-drawing characters are mapped to ASCII, and the training containers had no internet.
How a 494-million-parameter model became 360 million
Edwardsson started from Qwen2.5-Coder-0.5B. Its model card lists 0.49 billion parameters in total and 0.36 billion outside the embedding table, under the Apache 2.0 licence.
That gap is the whole trick. The base model's embedding table has 151,936 tokens and about 136 million parameters. A terminal needs 333: 256 byte tokens, 64 row tokens and a few special operations. Edwardsson cut the table to that size, which took the model from 990 MB to 716 MB, then quantised to int4 for the 208 MB download.
Training data came from real programs run in Docker containers with every keypress and screen recorded: 336,000 episodes, about 2 billion tokens, with randomised usernames, prompts and directories. Typos were injected at a 1.2 percent rate. Training took about 75 GPU-hours on one RTX 4090, a long way from the 59 wafers Cerebras said a trillion-parameter model needs. Small GPU-bound projects like this are also where runtimes such as TornadoVM 7.3 aim, though that release targets Java programs.

The scores, and who set the test
The benchmark is Edwardsson's own: 106 commands across 24 handwritten bash sessions, kept out of the training data. No outside party has run it. A second test counts file readbacks, where a session writes two random values to files and a later session reads them back.
| Model | ShellBench (of 106) | File readbacks (of 13) |
|---|---|---|
| Qwen2.5-Coder-0.5B, prompted | 52 | 2 |
| Qwen3-0.6B, prompted | 60 | 3 |
| WorldTUI | 80 | 9 |
The comparison is lopsided by construction. The two baselines are general models asked to imitate a terminal from a prompt, while WorldTUI was trained on terminal recordings. The post also shows the readback column headed out of 13 while describing a memory test of 64 readbacks across 32 worlds, so the denominators are worth checking against the author's code when it appears.
A second set of 47 cases, drawn from failures seen in the demo, rose from 24 to 38 at int4 after three rounds of self-correction adapted from DAgger, a method that trains on a model's own mistakes.
Speed, and a dead end
Decoding screen rows in parallel cut p95 latency on large frames from 6.7 seconds to 0.87 seconds on the RTX 4090. In the browser on an M4 Mac, one character takes about 60 ms. Firefox ran about 20 times slower in Edwardsson's testing, with no confirmed cause, and the demo works best in Chrome or Edge.
The post also records a failed shrink. Removing one layer without retraining barely moved next-token accuracy, from 99.3 percent to 98.9 percent, yet exact memory readbacks fell from 64 of 64 to 0 of 64. A 16-layer student at about 138 MB passed all 32 memory worlds but scored 65 of 106 on ShellBench, against 78 for its teacher. Edwardsson abandoned distillation.
Edwardsson calls WorldTUI "not really" useful and a weak world model. His next steps are better consistency, diffusion in place of autoregressive decoding, and training on thousands of randomly generated applications to test whether a model can infer an unseen app's behaviour from context. He gave no date for the weights.
Sources
More in Software
- 01Reddit's r/opensource Bans AI Projects and Anything Under a Year OldThe moderators' Oct. 24 rules would also turn away three repositories with 516 to 88,538 GitHub stars, all created within the past eight months.
- 02PaperPilot's Rust PDF Engine Quotes 4.5 ms; Its Own Table Says 179The Apache-2.0 toolkit hit 212 points on Hacker News on Oct. 26, where commenters questioned its parser choices and its provenance.
- 03NVIDIA's SkillSpector Lists 64, 68 or 71 Rules Depending on the PageThe Apache-2.0 scanner for AI agent skills has 21,918 GitHub stars, a 0-to-100 risk score and an optional LLM pass that sends file contents to a provider.
- 04POSIX wordexp(3) Runs Commands by Default, and WRDE_NOCMD Is a Weak Fix on muslAn Oct. 25 write-up on yossarian.net says no flag makes the C function safe for untrusted input, while the glibc manual's flag list carries no such warning.