AI Weekly

I Handed My App Studio to AI #4 ·

Watch Claude Code subagents work in a pixel-art Joseon palace — meet eojeon, open source, one npx command, local only

eojeon keeps your real Claude Code terminal and adds a pixel-art royal court on top: subagents enter as court officials, and permission requests arrive as petitions you stamp. Free and open source. Install, scenes, how it works, and what happens to your data.

Key takeaways

eojeon is a free, MIT-licensed open-source tool that opens a pixel-art Joseon-era palace and your own real Claude Code terminal side by side in the browser. You start it with `npx eojeon-cli`; Claude Code hooks turn prompts into royal decrees, subagent starts into officials entering the palace, and permission requests into petitions, and the approve and deny stamps send real keys (1 and Esc) to the terminal. The server listens only on 127.0.0.1 and sends no data out. It is an unofficial Claude Code tool built by hiio's AI team.

eojeon is a free, open-source tool that keeps Claude Code exactly as it is and shows what the AI is doing as scenes in a pixel-art Joseon palace. (Joseon was Korea's last dynasty; eojeon means the place where the king met his officials.) You are the king, your prompts are royal decrees, and approving a permission is giving royal assent. Subagents enter the palace as ministry officials, and when one needs permission it says, "I humbly request Your Majesty's assent." Press the assent stamp and a real approval key goes into the terminal. Everything runs only on your own machine (127.0.0.1).

eojeon demo: the permission request panel

Install and run

What you want Command
Run it (opens the browser at http://localhost:4747) npx eojeon-cli
Watch the scenes without Claude (zero usage) npx eojeon-cli demo
Add the default "Six Ministries" subagents to your project npx eojeon-cli init
Use it as a Claude Code plugin /plugin marketplace add hiio420pr/eojeon → /plugin install eojeon@eojeon → /eojeon

You need Node.js and Claude Code installed and logged in. It's tested on macOS. Windows (PowerShell) and Linux are built to run with the same commands but haven't been tested firsthand yet. Windows setup steps are in the README's Windows section.

What happens on screen

What happened in Claude Code (hook) Palace scene
You enter a prompt A royal decree unrolls and the court historian writes it down
A subagent starts The official for that post enters through the gate and goes to their desk
A tool runs That official works the brush, with a speech bubble (Bash: npm test and so on)
A permission request The "I humbly request Your Majesty's assent" panel with three stamps
A tool fails An ink-blot speech bubble (failures aren't hidden)
Work finishes The Chief State Councillor announces the memorial is complete

There are three stamps. Assent sends 1 (allow) to the terminal's permission prompt, Deny sends Esc (reject), and Hold sends no key and just moves focus to the terminal. On the right, the court historian's log records every event with a time and one line.

The default officials: the Six Ministries

Joseon's government ran on six ministries. eojeon maps each to a kind of engineering work.

Ministry Job
Ijo (Personnel) Design: breaks work down, sets order and owners
Hojo (Revenue) Performance: measures speed, cost and numbers first
Yejo (Rites) Docs: writes docs, comments and commit messages
Byeongjo (Military) Security: blocks vulnerabilities and leaked secrets
Hyeongjo (Justice) Review: tries the code and investigates bugs
Gongjo (Works) Implementation: builds the code and gets tests passing

There's also an optional "studio" pack that mirrors the AI staff hiio actually uses. Official titles, robe colors, the king's robe color, speech style and stamp text all live in court.config.json.

Is it really Claude Code?

Yes. The terminal at the bottom of the screen is your own claude, launched with node-pty and shown with xterm.js. Slash commands, chat, model switching and resuming past sessions (--continue, --resume) all work as usual. The scenes come from hooks in a temporary config that's only passed in at launch. Your ~/.claude/settings.json isn't touched.

Where does my data go?

Nowhere.

Why we built it

hiio is a one-person app studio where the owner only signs off and AI does the rest. The owner said, "Seeing subagents at work visually was fun. Want to build one ourselves?" The AI team split up the planning, naming, art and code. How the first name got rejected, and how eojeon differs from similar tools, is in the next part. The series starts at part 1.

FAQ

Is eojeon an official Claude Code tool?

No. It's an unofficial tool with no connection to Anthropic, open source under the MIT license. Claude Code must be installed and logged in for it to work, though npx eojeon-cli demo loops recorded scenes without claude and uses no Claude usage.

Does my code or my prompts leave my machine?

No. The server listens only on 127.0.0.1 and makes no outside requests. Events for the screen are reduced to tool names, the first line of commands and relative paths, and anything that looks like a secret is masked.

Does pressing the assent stamp actually approve the request?

Yes. Assent sends 1 and Deny sends Esc to the terminal's permission prompt. For any other option, choose it directly in the terminal.

How is it different from tools like Pixel Agents?

Similar ideas exist (Pixel Agents, Claude Office Visualizer). eojeon focuses on a Korean royal court setting, on-screen stamps that are real permission responses, and scenes that make sense even if you aren't a developer. No code was taken from other projects.

Sources

All episodes of 'I Handed My App Studio to AI'

#Claude Code#subagents#AI agent visualization#open source#pixel art#hooks

Written with AI (Claude) and checked against the linked sources.

Lab

Experiment 01

AI Type Test

How do you actually use AI? 15 types, Lv.1–10, and where you rank among people in your line of work.

3 min10 questions15 typesStart

More posts