Repository navigation
Releases: Abhash-Chakraborty/inyon
Release list
Inyon 0.17.5
Two fixes for updating.
- A hub from a git checkout updates again. Its
git fetch --tagsrefused to move thenode-latestandandroid-latesttags that every build re-points, exited non-zero, and the hub reported a network problem. The fetch is forced now, in the update and in the hourly check. A hub on an older version needs one manualgit fetch --force --tagsin its checkout before it can pull this. - Agents are updated where they live. An agent installed with npm into a folder of its own (an older Inyon kept OpenCode under
~/.local/share/tether-tools, with~/.local/binpointing into it) was updated withnpm install -g, which put a second copy where the PATH never looks. The Setup tab now knows the folder and updates the copy there.
Inyon 0.17.4
Agents you can install and update from the app, background agents that show as work, and the fixes from a full review of the code.
Install and update agents
- A machine's Setup tab shows each agent's version against the newest one on npm, with Update to X when it's behind, and Install for any of the six that's missing (Claude Code, Codex, OpenCode, Copilot, Gemini CLI, Antigravity). From the browser or the phone.
- Update runs npm for an npm install, otherwise the agent's own updater (
claude update,codex update,opencode upgrade,copilot update,agy update), or its installer again. - When a step fails, the row opens with the likely cause, the last lines it printed, the command to run on the machine yourself with a copy button, and the install guide.
Background agents
- A Claude Code session whose turn ended with subagents or shells still running shows as Background with what's running (1 shell and 1 agent running in the background) instead of Idle, the home status line no longer says All quiet while they run, and the Finished alert waits until they're done.
Typed pairing codes
- The record a computer publishes for a typed ID is now keyed by the ID and the 6-digit code together, so knowing the ID alone doesn't let anyone stand in for the computer. Typing a code needs the app and the computer both on 0.17.4 or newer; the QR code and the link work across versions.
Fixes
- Windows: live terminal output reached the hub again (the engine's pane rewrite had stopped matching the hub's attach command since the locale change in 0.17.0), so sessions on a Windows machine update as they print instead of at the next poll.
- The hub prunes earlier engine builds again; the link survives the hook log being rotated; removing a server takes the phone's key out of
authorized_keyseven when the file has no final newline, and adding one never glues it onto the last line. - The plain-http exception for private addresses only accepts a whole address, not a name that starts like one;
uninstallnever signals a pid that can't be one; a badContent-Lengthcan't abort the updater; a blank line inSHA256SUMSdoesn't hide the entries after it; clicking "← back" in the setup wizard goes back instead of on; the Windows migration link is a junction;ts.netis matched on a dot boundary. - Messages arriving in pieces are capped; machine ids must be canonical; address records keep a monotonic seq across clock steps; busybox is checked against the hub's pin on Windows.
- Android: deleting a server with a login still in progress no longer waits up to 42 seconds; two notifications can't open each other's session; the keep-alive wake lock can't outlive its service.
- Chat watchers clear every timer when they stop; the password check reads one record; the task sheet says 3 seconds like its timer;
\ No newline at end of fileno longer counts against a diff's line budget.
Latest inyon build
Latest Android build (0.17.5-build.184)
Inyon 0.17.3
A window on Windows, and no more windows flashing.
The Inyon window (Windows)
- Open Inyon and Pair a phone… in the tray menu open a small window of Inyon's own instead of a terminal: whether it runs, where it answers, which phones are paired, and the same four actions as buttons. Drawn in Inyon's style, sharp at any screen scale, and it refreshes every two seconds without flickering.
- The pairing code is a picture. The QR code to scan sits on its own card, with the code to type beside it. Opened with no phone paired yet, the window shows a code straight away.
- Behind it,
inyon window linkandinyon window link --pairopen it from anywhere; a second start brings the open window to the front. What it does goes to~/.inyon/node/window.log.
No more flashing
- Everything the engine starts on Windows (psmux, PowerShell, the shell) runs hidden, whichever part of the program starts it. Before, a notification's title lookup opened a console window for a moment.
- Asking for a pairing code from the window no longer opens a console for the engine either.
Inyon 0.17.2
Fixes from the first day of real use on a Windows laptop, mostly around what happens after setup.
Windows
- The phone no longer loses the computer.
inyon pairdidn't see the link already running in the background and started a second one. That one published its own address, and when it ended with the terminal the phone was left pointing at a dead tunnel: pairing worked once, then the computer was unreachable. A link is now also recognised by what answers on its port, sopairandlinkreuse the one that runs. - The tray menu works. Open Inyon and Pair a phone… opened a window that closed at once. They open a terminal window of their own now.
inyonis found by name. Setup puts~\.inyon\binon your user Path when it isn't there, not only the installer, so a copy that got there another way, or a setup run after an uninstall, works in new windows too.- Inyon is in Settings → Apps. Setup lists it there with its version,
inyon updatekeeps the version current, and Uninstall there runsinyon uninstall --purgein a window that stays open until you press Enter. - Uninstall finishes the job. It checks that the logon task is really gone and says so if not.
~/.inyonis removed one entry at a time, so a file an agent's hook still has open no longer keeps everything else behind.
Setup and uninstall
- Setup installs tmux. When tmux (psmux on Windows) is missing, setup asks and installs it: winget or cargo on Windows, Homebrew on macOS, your package manager through
sudoon Linux.--yesdoesn't ask. - Uninstall asks before removing it. Only when setup installed it; the default is to keep it, and
inyon uninstall --yeskeeps it without asking. tmux that was there before Inyon is never touched.
The terminal
- The Inyon mark's line hangs from the kite in every font instead of floating beside it.
- When you quit the
inyondashboard, what it showed is printed as plain lines, so your terminal's history keeps both what was there before and the status you looked at.
Inyon 0.17.1
Fixes from a full test on a Windows 10 laptop, an Android phone and an Android tablet: installed from scratch, paired, used for real work, updated and uninstalled.
Windows
- No window at sign-in, and a tray icon. Inyon now starts in the background without flashing a console, and shows an icon in the notification area while it runs: Open Inyon, Pair a phone…, Show the log, Restart and Quit Inyon. On Windows 10 it may sit under the
^arrow at first. - The firewall lets phones in. When you tick LAN or VPN in setup, it adds a rule named "Inyon link" (Windows asks an administrator once). It lets in only the link's port, only to
inyon-engine.exe, and only from the local network and VPN ranges. Before, Windows counted VPNs as public networks and phones couldn't connect over them. - Live status for every session. psmux names a pane
%1in every session, so two Claude Code sessions on one Windows machine shared their status files and the app showed neither one's model, context or limits. Each session keeps its own now. Inyon updates the integration's scripts on the machine by itself. inyon uninstall --purgeremoves everything. It stops the engine, the tunnel and the tray first, deletesinyon.exeonce it has exited, takes~\.inyon\binoff yourPathand removes the firewall rule. It lists anything it couldn't delete.inyon logsshows the link's log on Windows too.- Over SSH,
inyon setupandinyon doctorfind psmux and the agents on your userPath.
Install and setup
inyonis on your PATH afterget.shorget.ps1, in new terminals. SetINYON_NO_MODIFY_PATH=1to keep the installers from touching it.- Setup keeps what you ticked. Pressing
Enteron the network screen no longer unticks the box under the cursor, and the summary lists every VPN it found. - Readable names and local times. The dashboard and
inyon statusshow a phone as "A142" instead of "A142 Build/BP2A.250605…" (phones paired from now on as "Nothing A142"), and times in your time zone.
The app
- A model or effort you pick stays in that session. Claude Code saves a
/modelor/effortpick as your default for new sessions; Inyon now putsmodel,effortLevelandmodelSettingsin~/.claude/settings.jsonback the way they were. - Prompts read cleanly. Commands lose the
│border from Claude's screen, lines stay apart, edit diffs are in colour, and an edit's alert names the file. - Status keeps up. A session shows Working as soon as you answer it, "Active … ago" counts from the last activity, and Recent activity stops saying "needs you" once you've answered.
- Reconnecting is calmer. The last question stays on screen while the app reconnects, with "Reconnecting to …" instead of "offline".
- Phones and tablets. Notifications are asked for after you add your first computer. On tablets the sidebar sits below the status bar and keyboard hints are hidden on touch screens, and the keyboard closes after Send. The jump-to-bottom button no longer covers text, and a computer's name isn't cut off on a phone.
- Smaller things. The effort chip shows the model's default level instead of "Default". A computer's probe time reads "responds in 1.4 s". Windows folders show properly in folder chips. The terminal draws ⏵⏵ and other symbols, with a minimum contrast for faint text. Removing a computer and pairing it again no longer shows the old entry's error.
Docs
New notes on Play Protect's scan prompt, on an npm global folder that isn't on your PATH, on the Windows firewall rule and on how the integration updates itself.
Full Changelog: v0.17.0...v0.17.1
Inyon 0.17.0
Review what an agent did without leaving the app, a right-click menu everywhere, and machines that stay clean when you're done with them.
Review the work
- Files. The side panel (and Activity on a phone) has a Files tab: the session's folder, read only. Read code with syntax highlighting, Markdown rendered, and images. Mention puts
@pathin your message. - Working tree. Changes now has two views. This chat is what the agent edited in this conversation, as before. Working tree is what git sees: every change since the last commit, whoever made it, with the branch and how far it is from its upstream. Commit all and Push are there too, and your git hooks and signing run as usual.
- Comment on a diff. Tap a line number in any diff to leave a comment. Comments collect under the diff, and Add to message puts them all in your message box as one review, so you can add to it before sending.
- Fork a conversation. Fork conversation in the session menu (Fork on a phone) opens a copy of a Claude Code, Codex or OpenCode conversation in a new tmux window, in the same folder and with the same flags. The two carry on separately, so you can try something else without losing where you were.
Right-click
Every part of the app now has its own right-click menu instead of the browser's: text boxes get Cut, Copy, Paste and Select all, links get Open and Copy link, files and changed files get Mention and Copy path, and anywhere else gets Back, Reload, Search… and New session…. Hold Shift for the browser's own menu. How Inyon works in Settings now opens the docs instead of GitHub.
Cleaning up after itself
- Uploads never pile up. The hub tidies every machine about every six hours and when one comes back online. It deletes uploads past their age, then the oldest ones while the folder is over the new Keep at most setting (1 GB by default). A file whose upload broke off keeps a
.partending, so an agent never reads half a file, and goes after an hour. A computer paired only with a phone tidies its own uploads the same way. - Removing a machine takes Inyon off it. While it can still be reached, removing a machine takes back the Claude Code and Antigravity integration (your own status line comes back), the uploads, the prompt log and the hub's SSH connection. Removing a server you reached with the phone key takes that key out of its
authorized_keys, and removing a paired computer unpairs the phone on it too. - Secrets are private from the first byte. Files that hold settings, pasted prompts or a token are written readable only by you, and a temporary copy is removed even if the write is cut off.
inyon uninstall --purgegives Claude Code and Antigravity their own status lines back and drops Inyon's hooks before deleting~/.inyon, and removes folders older versions left behind.
Full Changelog: v0.16.1...v0.17.0
Inyon 0.16.1
A terminal fix for high-resolution screens, a Support link, and a README for people who haven't used Inyon yet.
- The terminal no longer shows a few giant lines. With WebGL at a 2x pixel ratio, some browsers sized the terminal's canvas in CSS pixels once it refit, so every character came out twice as big and only the last lines fit. The terminal now checks the canvas right after WebGL takes over and goes back to ordinary page drawing if it's at the wrong scale. Settings → About → Terminal drawing says which one is in use.
- Support Inyon in Settings → About opens GitHub Sponsors in a new tab. Inyon is free and MIT licensed, so this is only for people who want to chip in. The README has a short Support section too.
- Why not Paseo, Happy or Claude Remote Control? The README now says how Inyon differs: it picks up agents already running in your tmux panes, needs only tmux and your agents on a server reached over SSH, and signs in to nothing. It also says what you give up: there's no iPhone app yet, and a new agent release can break a reader until Inyon catches up.
- README pictures redone from the current app, so they show the 0.16 shortcuts (
Alt N,Ctrl K) and the terminal as it should look.
The README's recordings come from a script that drives the real app (apps/web/scripts/readme/shots.ts). On some ARM servers Chrome crashes or hangs after about a hundred captures; the script now starts a fresh browser and carries on from the same frame.
Full Changelog: v0.16.0...v0.16.1
Inyon 0.16.0
Right-click menus, a removed machine that stays removed, and a calmer refresh.
- Right-click menus. Sessions, machines, your messages, the agent's replies, code blocks, the terminal and past conversations now have a menu where you right-click. A session or a machine offers the same actions wherever it's listed: in a card, the sidebar, the overview or a machine's page. The ⋯ menus use the same lists, so a session card's menu also has Rename…, Past conversations…, Copy session ID and Open in new tab. With text selected, Copy comes first. Text boxes, links to other sites and
Shift+right-click keep the browser's own menu. On a phone, long-press a row in the sidebar, a machine or a past conversation for the same menu. - A removed machine stays removed. Removing a machine closed its connection, but its background service started
inyonagain, and it called the hub every 30 seconds for good. Now it leaves the hub by itself, asinyon disconnectwould: it forgets the hub and removes its service. A machine that was off at the time does this the next time it starts. The hub tells a removed machine apart from one whose token it simply doesn't know, so a hub that lost its data doesn't make machines leave. On a machine removed before 0.16, runinyon disconnect. - New session from anywhere:
Alt N(⌥ Non a Mac).Nalone only works while you aren't typing, and in a session the message box takes the key.Alt Nworks from the message box too, but not in the terminal, where Alt keys belong to the shell. The sidebar shows each shortcut the way your computer names its keys. - Pull to refresh no longer spins the logo. As you pull, the kite's line pays out from the node; while the page refreshes, it reels in and out. The refresh button on a computer does the same.
Checked: the hub answers a removed machine's token differently from an unknown one, a removed machine runs inyon disconnect and stops, disconnect stops the service only after everything else is gone, and a systemd user unit that removes itself that way isn't started again.
Full Changelog: v0.15.0...v0.16.0