I Handed My App Studio to AI #6 ·
Claude Code on your phone and in the browser — eojeon 0.2 to 0.5.1, seven releases in one hour from the owner's feedback (remote access, terminal mirroring, Answers tab, petition box)
eojeon, the open-source tool that wraps Claude Code in a pixel-art Joseon palace, shipped seven updates in 61 minutes on its first night, from 0.2.0 to 0.5.1. The owner's feedback after trying it, what changed, a bug the AI introduced and fixed in 0.5.1, and the privacy scope of phone access and the Answers tab.
eojeon, an MIT-licensed tool that wraps Claude Code in a pixel-art Joseon palace, shipped seven new versions in 61 minutes on its launch day (2026-10-24), from 0.2.0 at 23:12 to 0.5.1 at 00:13, as the AI fixed issues hiio's owner hit while using it. The changes: access from other devices with an access key (`--host`), `eojeon claude` to show your own terminal in the web view, a single input box, a terminal sized to the screen, an Answers tab that keeps the palace large and shows only prompts and final answers, and a petition box that collects unanswered permission requests and questions. The last release, 0.5.1, fixed a bug the AI itself introduced, where the demo server deleted the connection file.
On its first night, eojeon shipped seven new versions (0.2.0 to 0.5.1) in 61 minutes, all from feedback the owner left while actually using it. You can now open it from other devices, show the terminal you normally use in the web view, keep the palace large while a tab collects just your prompts and the answers, and see a "petition box" of questions you haven't answered yet. The last release, 0.5.1, fixed a bug the AI introduced on its own. What eojeon is: the intro. How it was built: the build story.
Seven versions, 61 minutes
Times come from the git tags in the GitHub repo (October 24–25, 2026, Korea time).
| Time | Version | What changed |
|---|---|---|
| 23:12 | 0.2.0 | Access from other devices (--host plus an access key), watch (view Claude Code sessions running outside eojeon), a single input box on desktop, a new court post "Jeollyeong" (the royal messenger, for social media posting) |
| 23:37 | 0.3.0 | eojeon claude: the claude you start in your own terminal shows up in the eojeon web view as is (web input and assent stamps go to that terminal too) |
| 23:48 | 0.3.1 | If eojeon is busy or not started yet, retries every 3 seconds and attaches automatically |
| 23:54 | 0.3.2 | Shrinks the font so the web terminal fits on one screen without clipping; hooks find a restarted eojeon |
| 23:58 | 0.4.0 | Palace fills the left side; an "Answers" tab on the right (only your decrees and Claude's final answers); the original terminal behind a button |
| 00:01 | 0.5.0 | Petition box: collects unanswered permission requests and questions where Claude asked and stopped |
| 00:13 | 0.5.1 | Fixed the demo server deleting the connection file (a bug the AI introduced) |
The owner's feedback and the fixes
The owner's comments are paraphrased, not quoted.
| Owner's feedback (gist) | Fixed in | What changed |
|---|---|---|
Opening macmini:4747 from another device over Tailscale didn't load |
0.2.0 | Start with npx eojeon-cli --host 0.0.0.0 and open the address printed in the terminal (access key included) on a phone or tablet. After that, no key needed for 30 days |
| The Claude Code session I'm using right now doesn't show up in eojeon live | 0.2.0 · 0.3.0 · 0.3.1 | View-only display with watch → your terminal shown as is with eojeon claude → automatic connection even if eojeon starts later |
| Two input boxes, the CLI's and the decree box, will be confusing | 0.2.0 (cleaned up in 0.4.0) | One input box. From 0.4.0, a single field at the bottom of the right panel (Enter sends, Shift+Enter for a new line) |
| The CLI mirrored in the web is clipped and not fully visible | 0.3.2 | The web terminal shrinks the font until the whole screen fits |
| Don't duplicate the CLI, just show answers, and make the palace as big as possible | 0.4.0 | Palace on the full left side, "Answers" and "Historian's log" tabs on the right, the original CLI only when you press the "Terminal" button |
| How about piling up the petitions I haven't answered yet and showing them? (owner's idea) | 0.5.0 | A petition box tab and a stack of petitions at the top left of the palace (with a count) |
0.5.1: a bug the AI made
0.5.1 didn't come from the owner. When the demo command (eojeon demo) started, it overwrote the connection file ~/.eojeon/runtime.json, and deleted it on exit, so an eojeon that was already running lost track of eojeon claude and the watch hooks. From 0.5.1, demo doesn't touch the file, and eojeon rewrites it if it goes missing. eojeon claude also looks up the currently running eojeon on every event, so answers and petitions show up even if you start or restart eojeon later. The CHANGELOG records it the same way.
What the petition box collects
- Permission requests you haven't approved or denied yet
- Times Claude asked with the question tool (AskUserQuestion) and stopped, or a final answer that ended with a question mark
Items drop off on their own when you approve, deny or send the next decree, and you can clear them with "Clear." They're saved in ~/.eojeon/pending.json, so they survive a restart. Approve and deny buttons appear only on the request currently showing in the terminal. The point is to come back after stepping away and see at a glance what Claude is waiting on.
New commands
| What you want | Command |
|---|---|
| Run as usual (this computer only) | npx eojeon-cli |
| Show your terminal's claude in eojeon as is | With eojeon running, in another terminal: npx eojeon-cli claude --continue (claude options pass through) |
| View on a phone or tablet too | npx eojeon-cli --host 0.0.0.0 → open the printed address (with key) on your phone |
| Change the access key | npx eojeon-cli --host 0.0.0.0 --new-key |
| View Claude Code outside eojeon too (view only) | npx eojeon-cli watch / turn off with npx eojeon-cli watch --off |
| Watch the scenes without Claude | npx eojeon-cli demo |
Is phone access and the Answers tab safe?
The default hasn't changed. Started without options, the server listens only on 127.0.0.1 and makes no outside requests.
- Other devices can open it only when you add
--host. The first visit works only through the address containing the access key; without the key you get a 403. - A device with the key can also type into the claude terminal on this computer. On public Wi-Fi, the README recommends specifying a single Tailscale IP instead of
0.0.0.0. - From 0.4.0, for the Answers tab, the decrees you write (up to 2,000 characters) and Claude's final answer text (up to 6,000 characters) are sent to the screen. They go only to this computer or to devices with the access key. File contents and tool output are not sent, and strings that look like API keys, tokens or passwords are masked as
***. watchadds hooks to~/.claude/settings.jsononly when you run it, and first saves the original assettings.json.eojeon-backup.watch --offremoves only the hooks eojeon added.
FAQ
Can I show the Claude Code I run in my usual terminal inside eojeon?
Yes. With eojeon running, start npx eojeon-cli claude instead of claude in another terminal. That terminal appears in the eojeon web view as is, and whatever you type on the web and the assent stamps go into that claude. If eojeon isn't running, it starts as a regular claude.
Can I view eojeon on my phone?
Yes. Start it on your computer with npx eojeon-cli --host 0.0.0.0, then open the address printed in the terminal (access key included) on a phone on the same Wi-Fi or Tailscale network. No one gets in without the key, and without the option it only opens on this computer.
What goes into the petition box?
Permission requests you haven't answered, and places where Claude asked something and stopped (the question tool, or a final answer ending in a question mark). They drop off when you answer or send the next decree, and they survive a restart.
Does the Answers tab send my conversation anywhere?
No. Decrees and final answer text go only to the screen on this computer, or on devices started with --host that have the access key. Strings that look like secrets are masked.
Sources
- eojeon on GitHub
- eojeon CHANGELOG
- eojeon-cli — npm
- Hooks — Claude Code docs
- Settings — Claude Code docs
- Install Tailscale — Tailscale docs
- Earlier part: meet eojeon
- Earlier part: how eojeon was built
All episodes of 'I Handed My App Studio to AI'
Written with AI (Claude) and checked against the linked sources.