Releases: tyhh00/HNA-Code
Release list
v0.5.0 — A macOS build that actually opens + all-accounts resume
Bug-fix release.
- macOS: the
.dmgis now ad-hoc signed, so it opens instead of failing with a "damaged" error. Apple Silicon only for now. - Resume shows sessions from all your Claude accounts, tagged with the account that owns each one.
Install: see the README. If a build won't run on your machine, or you'd rather skip the OS warnings, just run from source: npm install && npm start.
v0.4.0 — Images in cells, per-cell reload, additive resume
Cells now behave like real terminals for images, every cell can restart its claude in place, and bulk-resume is finally additive.
🖼 Images work like a real terminal
- Drag an image (or any file) into a cell and its quoted path is typed straight into claude's prompt — exactly what Terminal/iTerm do, and how claude expects to receive dragged images. Paths with spaces are quoted; multiple files work.
- Paste an image (
Cmd+Von macOS,Ctrl+Velsewhere) and claude now reads it off the system clipboard itself. Previously the paste was intercepted as text-only, so images arrived "blank" — now the raw^Vis forwarded to the terminal, the same byte a plain terminal sends, and claude does its native clipboard read. Text paste is untouched. - Fixed along the way: the Windows/Linux
Ctrl+V/Ctrl+Cclipboard bridge was silently broken (the sandboxed preload has no clipboard access) — clipboard now goes through the main process, so text copy/paste works properly there too.
⟳ Restart a cell in place
Every cell header has a new ⟳ button next to ✕. Click it and that cell's claude restarts resuming the same conversation in the same folder, under the same account — for the classic "I added the MCP server, restart me to pick it up", without losing any context. Fresh cells just restart clean.
🗂 Bulk-resume is now additive
Resuming sessions from Settings used to misbehave: empty panes (after a ✕) were skipped — so "resume 5, only 1 arrives" — and it could overwrite conversations already running in the window. Now:
- Never clobbers. Sessions land only in free slots: an empty pane (right where the ✕'d one was) or a brand-new terminal that hasn't started a conversation. Cells with real conversations are untouched.
- Dedupes. Anything already open in the window is skipped automatically.
- Grows the grid a layout size when free slots run out, before offering the tabs/extra-windows overflow.
- The import list shows what's already here — sessions open in this window appear dimmed with an "in this window" chip and can't be re-selected.
✅ Verified
Every fix is covered by new end-to-end Playwright tests driving the real app (test/reload.mjs, test/import-additive.mjs), plus the full existing suite.
📦 Downloads
macOS .dmg, Windows .exe, Linux .AppImage — attached below by CI.
Builds are unsigned. On macOS, first launch: right-click the app → Open, or run
xattr -dr com.apple.quarantine /Applications/HNA-Code.app. On Windows, click through SmartScreen (More info → Run anyway).
v0.3.0 — Multiple Claude accounts
Run many Claude Code sessions in a grid — now across multiple Claude accounts.
✨ Multiple Claude accounts
Run several Claude logins side by side and see, per cell, which account it's burning.
- Auto-discovery — every
~/.claude*config directory (CLAUDE_CONFIG_DIR) shows up as a profile, with the signed-in account read from its config. Add directories outside home, or hide ones you don't want, in Settings. - Per-cell account badge — each cell shows a colour-coded chip for the account it's running as, and tints its border to match. Set the colour per account in Settings.
- Switch a session between accounts — click the badge and pick another account. The conversation is copied into that account's store and resumed there; the original stays put as a rollback, and the newest copy is always the source of truth. The binding persists, so reopening a window relaunches each cell under the same account.
- Explicit porting — switching a live conversation asks first: Proceed (carry it over) or Start new session, with a save-my-preference option. Empty cells just rebind, no prompt.
Built for seamless multi-account use — when one account runs low, move a session to another with a click.
🎬 Staggered resume
Resuming several sessions at once now opens them one at a time (0.5s apart, with an arrival animation) so it's clear that multiple sessions came up — not one silent repaint.
🗂 Overflow prompt
When you resume more sessions than the grid can show, HNA-Code now asks where the rest should go — extra windows, or stacked as tabs in this window — instead of deciding silently. Your choice can be remembered.
🔧 Under the hood
- Electron 32 → 43.1.1 and electron-builder 25 → 26.15.3. This clears all
npm auditfindings (previously 9 high + 1 critical, including the criticalnode-tarchain). The macOS build was verified end to end: the app installs from the DMG, launches, and spawns real terminals. - CI release pipeline moved to Node 24.
📦 Downloads
- macOS (Apple Silicon):
HNA-Code-0.3.0.dmg— built and verified runnable. - Windows / Linux: attached by CI.
Builds are unsigned. On macOS, first launch: right-click the app → Open, or run
xattr -dr com.apple.quarantine /Applications/HNA-Code.app. On Windows, click through SmartScreen (More info → Run anyway).The multi-account feature is verified on macOS; Windows behaviour for account switching hasn't been tested yet.
v0.2.0-alpha
Early alpha release, basic functionality with claude code support