← Back to Home

Changelog

What changed on arcanova.online and in arcanova-cli, newest first.

In developmentPhase 1 · Upcoming

Sessions as first-class entities

In development — not yet released. This entry previews what's coming; details may change before ship.

Claude Code sessions are being promoted from task-note attachments to a first-class part of your project: a Sessions tab, session-task linking, and encrypted session storage (the same AES-256-GCM rigor as the Secret vault). Everything ships behind a feature flag, and a reversible migration will move existing session-format notes over — originals left in place until the new system is trusted.

This is the first of four Sessions/remote-control phases; later phases add full session sync across machines, search, and remote control. Each phase gets its own entry here when it ships.

July 6, 2026arcanova-cli v0.5.10

One-command remote control

Reaching a machine from the browser is now a single install and a single command. npm i -g arcanova-cli@latest ships both the arcanova binary and the /arcanova:* slash commands, and /arcanova:remote connects the tmux session you're in — surviving SSH logout.

Highlights

  • One install, both halves. npm i -g arcanova-cli@latest now drops the /arcanova: slash commands (including /arcanova:remote) into ~/.claude/commands/arcanova/ via a postinstall step — so a single global install gives you the binary and* the commands. No separate installer run just to get the slash commands. The postinstall only copies the commands; the full per-project setup (MCP, hooks, CLAUDE.md) still runs from npx arcanova-cli inside a project.
  • /arcanova:remote — connect from inside Claude Code. Run it in the tmux session your work lives in and it connects that session to the web for remote control, then confirms with the dashboard link. If the arcanova binary isn't on PATH, it now tells you to npm i -g arcanova-cli@latest instead of failing cryptically.
  • arcanova daemon up / down — survives SSH logout. up resolves the tmux session you're inside, launches the daemon in a dedicated detached tmux session, and keeps it alive after you disconnect — the old foreground daemon died on logout. It's idempotent (a second up says already connected); down disconnects cleanly and status reports whether it's running.

One manual step (by design)

Pairing still requires one browser approval: daemon up prints an 8-character code, you enter it once at Project Settings → Devices as the project owner, and the command blocks until you approve. That approval is the security gate — a device can't control a machine until a human signs off. After the first approval, later daemon up runs connect straight away. The full interactive web terminal needs node-pty on the machine; without it the device falls back to read-only screen snapshots.

Upgrade notes

Upgrade: run npm i -g arcanova-cli@latest (ships 0.5.10). Then, from inside your tmux session, /arcanova:remote (or arcanova daemon up).

July 6, 2026Remote control v1 · Beta

Remote control for paired devices

Reach a machine that's running your work from the browser: pair a device, fire pre-approved quick actions, and open a live terminal to it from the Devices tab. The terminal stream is end-to-end encrypted — Arcanova routes your keystrokes and screen but cannot read them.

Highlights

  • Pair a devicearcanova daemon --pair links a machine to a project with a single-use 8-character code that an owner approves (10-minute expiry, strict rate limits). The device gets its own project-scoped arcd_ token; the raw token is only ever shown to the daemon.
  • Quick actions — define commands in an arcanova.json on the machine and run them with one tap from the web Devices panel. Only action ids cross the wire, never command strings, and the daemon runs only ids present in your own local file — a compromised server can trigger nothing you didn't pre-approve.
  • Device panel — a Devices tab appears on the project once a device is paired: online status, a quick-action grid, and live action output tails.
  • Web terminal — a full interactive terminal (xterm.js) attached to the machine's tmux session, with a mobile key bar (Esc, Tab, arrows, sticky Ctrl). tmux is the persistence layer, so a dropped connection reattaches to the same session.
  • End-to-end encrypted stream — terminal keystrokes and screen output are encrypted browser-to-daemon with an ephemeral X25519 / AES-256-GCM handshake. The relay forwards frames it cannot decrypt, and a per-connection fingerprint is shown on both ends so you can confirm there's no machine in the middle.
  • Access log + kill switch — every connect and disconnect is recorded with IP, user, and duration in the project Activity feed and the device's panel. A kill switch (the Devices panel or arcanova daemon --kill) severs every live connection in under five seconds and blocks new ones; re-arming is owner-only.

v1 limits (honest)

This is a v1/beta: one viewer at a time per device, and it requires the arcanova daemon process running on the paired machine with the relay enabled by your operator. The terminal is confined to the single tmux session the daemon started on — nothing on the wire can retarget another session or spawn a new shell.

Upgrade notes

Remote control ships in the CLI daemon.

Upgrade: rerun npx arcanova-cli@latest (this ships 0.5.3) to get arcanova daemon. Then arcanova daemon --pair from the machine you want to reach.

July 6, 2026arcanova-cli v0.5.3

Sessions — sync, resume & recall

Claude Code sessions are now first-class in your project: encrypted transcripts sync across machines, resume exactly where you left off on any of them, and every past session is searchable — from the web and the terminal. This is the Sessions preview shipping for real, phases 1 through 3.

Highlights

  • First-class, encrypted sessions — sessions live in a Sessions tab and link to tasks. Full transcripts are encrypted at rest with AES-256-GCM under the same key infrastructure as the Secret vault; they are never stored in the clear.
  • Cross-machine sync + exact resume — the CLI session watcher streams your active transcript up as you work. arcanova sessions resume <SES-n> pulls it down on another machine and relaunches claude --resume so you continue the same conversation, not a summary of it.
  • Resume forks, never collides — resuming a synced session on a second machine freezes the original and continues in a new linked session, so two machines can never scribble over one transcript. The lineage is recorded and shown, so a resume chain reads as one thread.
  • Search past sessions, web + CLI — a search bar in the Sessions panel and the new arcanova recall "<query>" answer "what do past sessions know about X?". arcanova recall --files <path> lists every synced session that touched a file or directory, with per-session action summaries.
  • Recall for agents — the /arcanova:recall skill lets a Claude Code agent consult prior sessions before it plans, and the autopilot RESEARCH step now weaves prior decisions, failed approaches, and relevant files into its research brief. Recall failing or an index being off never blocks a task — it degrades to a one-line notice.
  • Touched-files index — "every session that modified file X" is surfaced where you already look: on the session, the task, and the Files tab.
  • Handoffs + auto-checkpoints/arcanova:handoff stores a distilled goal / decisions / current-state / next-steps doc on a session, and the watcher writes rolling auto-checkpoints, so cross-device pickup works even when an exact transcript resume isn't available.

What is searchable (and what stays private)

Transcripts stay encrypted. To make sessions searchable we index only session titles, repo-relative file paths, and short secret-scrubbed previews of prompts and responses (each preview is run through the CLI's secret scanner and capped before it ever leaves your machine). Tool inputs, tool output, command output, file contents, and diffs are never indexed — they exist only inside the encrypted transcript. Privacy-sensitive projects can turn the index off per project and still sync; search then falls back to titles and machine names.

Upgrade notes

The sessions transcript upload gained new fields, so the protocol version bumped.

Upgrade: rerun npx arcanova-cli@latest (this ships 0.5.3) to pick up arcanova sessions, arcanova recall, and arcanova session-watch. Whenever a changelog entry says the protocol bumped, rerunning that one command is the fix — npx caches an old CLI until you do.

July 4, 2026Protocol v1

Protocol versioning v1

Groundwork for the Sessions and remote-control phases: the CLI and server now agree on a protocol version, so version skew fails loudly instead of mysteriously.

Highlights

  • Every CLI-to-server request carries an X-Arcanova-Protocol header.
  • When your CLI is older than the server's minimum supported protocol, the server responds 426 Upgrade Required with a clear message instead of a confusing error deep in a workflow.
  • The CLI prints the upgrade instruction prominently and exits with a dedicated exit code (71), so scripts can distinguish "outdated client" from a generic failure. The MCP server surfaces the same message as a tool error.
  • Existing endpoints stay lenient with older clients; new endpoints shipped from here on require the header.

Upgrade notes

Upgrade: rerun npx arcanova-cli@latest. From now on, whenever a changelog entry says the protocol version bumped, rerunning that one command is the fix — npx caches an old CLI until you do.

May 18, 2026arcanova-cli v0.5.0

Fleet Mode — Autopilot v2 + MCP server

The biggest CLI release yet: one chat command now starts a fleet. Seventeen tasks across four phases.

Highlights

  • Fleet Mode/arcanova:go flips a project-level flag; every connected host (Claude Code, Codex CLI, scheduled remote agents) sees it and joins the fleet. Agents coordinate through the board only — atomic claims, 5-minute heartbeats, stale-claim recovery after 30 minutes. The flag auto-clears with a completion summary when the board drains. /arcanova:stop is the kill-switch.
  • MCP server — new arcanova-mcp stdio server exposes 14 tools (12 board read/write + start_autopilot / stop_autopilot) so any MCP-aware host — Claude Desktop, Cursor, Zed, Codex CLI — can drive the board with natural language. The installer auto-detects supported clients and offers to register.
  • Autopilot foundations/arcanova:claim (atomic claim with agent-id fingerprint), iteration/time budgets (--max-iterations, --max-time) with Ctrl-C grace, and /arcanova:doctor, a 12-check runtime health diagnostic.
  • Polish — quiet one-shot mode (arcanova -z status), /arcanova:dispatch <task-id> for single-task delegation, unified arcanova help, and /arcanova:insights per-task analytics.

Upgrade notes

No breaking changes for single-host users; Fleet Mode and MCP registration are both opt-in. Run npx arcanova-cli@latest to get the new commands, then /arcanova:go to start your first fleet.

May 10, 2026arcanova-cli

CLI Polish Wave 2

Ten quality-of-life upgrades for the CLI agent, informed by six months of real autopilot runtime.

Highlights

  • Safety hooksbash-confirm-dangerous intercepts destructive shell commands (rm -rf and friends) before they run, and secret-scan blocks Edit/Write operations that would leak API keys or tokens into files.
  • Git workflow commands/arcanova:branch creates a feature branch tied to the current task; /arcanova:pr opens a GitHub pull request using the task's research brief and completion comment as the body.
  • Diagnosticsnpx arcanova-cli --health checks your install end to end, and npx arcanova-cli --upgrade refreshes commands, hooks, and agent files in place.
  • Operations/arcanova:logs tails and greps docker-compose service logs; /arcanova:status gains filters (--mine, --blocked, --review, --feature, --label, --priority); /arcanova:help [command] prints a one-screen command reference.
  • Guard rails — a compose-port-check hook catches port collisions before docker compose up, and /arcanova:autopilot --dry-run previews what a run would pick without touching the board.

Upgrade notes

No breaking changes. Run npx arcanova-cli@latest to pick up the new hooks and commands.