Skip to main content

August 11, 2026 — Fast, safe Device checkpoints

  • A provider-neutral Ara turn now retries a bounded zero-output inference socket close under the same idempotency key. Once any model event has streamed, Ara never replays the request. This recovers a transient connection drop between a tool result and the next model round without duplicating output or work.
  • Persistent Ara Cloud workspaces now keep their shared repository cache on a detached HEAD and use the same repository lock for materialization and cleanup. A continuation that starts from a default branch such as main no longer fails because the cache checkout owns that branch. Preparation failures also name their bounded stage without exposing paths, repository credentials, or command output.
  • Internal code now calls clone/fetch/worktree bootstrapping workspace materialization. It is runtime plumbing after Ara chooses a target, not the retired repository Environment, setup-key, plugin, image, or readiness gate. Sessions remain repository-optional; .ara/runbook.md remains the only repository-owned development guide.
  • Ara CLI 0.2.39 gives every claimed Device operation heartbeat a four-second deadline and bounded retries. A stalled network request can no longer consume the full 30-second operation lease before Hands starts. Successful retries report their retry count, and a lease recovery now emits a run- and operation-scoped warning that distinguishes a stall before the first Device event from a later interruption.
  • Ara CLI 0.2.38 makes repeated repository work on a Mac fast without sharing mutable working trees. A new per-run checkout can copy Git objects from an earlier Ara-managed checkout only after its canonical root, raw origin, HEAD, and non-symlink boundaries verify; it then fetches the requested remote and checks out an independent branch. Device status also refreshes the enrolled organization’s name and slug through the Device’s own proof-bound identity, so it remains readable even when the CLI is currently signed into another organization.
  • Ara CLI 0.2.37 starts physical Bash without loading the user’s login or interactive shell profiles. Device commands now reach the managed checkout directly instead of waiting on unrelated shell startup hooks, and active Hands control polls every two seconds so target switches and cancellation settle promptly.
  • A Cloud session can now create a repository-bound successor directly on an online authorized Device root. It no longer has to attach that root to the old immutable repository first; neutral roots stage Ara’s exact managed checkout, while roots explicitly bound to a different repository remain rejected. Cloud Bash results also preserve Git object IDs only after a hidden live-checkout verification, matching Device output without weakening secret redaction.
  • Clean read-only work on a Mac no longer uploads the same full repository checkpoint after every shell result and again during finalization. Ara first compares a private temporary-index tree with origin state captured before model tools become available, then skips only clean reproducible work, untouched scratch work, or an already verified identical state. Dirty files and committed-but-unpushed work still take the fully verified checkpoint path, and an invalid probe falls back safely to a full checkpoint.
  • Exact Git commit and tree IDs learned by that trusted internal probe now stay readable in Device results such as git rev-parse HEAD. Unknown long token-shaped values continue to be redacted.
  • A request such as “use this repository without asking me to pick one” now keeps its explicitly named repository. Ara only starts repository-neutral scratch work for a direct no-repository instruction, not for a request to avoid legacy setup questions.
  • Sending a Device task immediately after opening the composer now joins the connected-repository request already in flight, just like Ara Cloud. An exact repository name cannot fall through to scratch merely because its overview was still loading.
  • Device and repository intent rules are shared by the web app and API. Changes to those shared rules now trigger the production API deployment as well as the web deployment, preventing split behavior between new tasks and continuations.
  • Return wording such as “move this same task back to my online MacBook Pro” now resolves before the continuation starts. With one admitted Device, Ara creates the Device-bound child directly instead of booting a Cloud coordinator that has to discover the Mac and create another session.
  • A direct relative request such as “use the repository I worked in most recently” now binds that newest connected repository before the run starts, even when sent immediately from a cold Cloud or Device composer. This history is personal: only sessions the signed-in member created or steered count, so a teammate’s newer run cannot select their repository. Pinned display order does not override actual recency, and identical GitHub/GitLab paths keep the provider from the recent session. Stale browser history no longer prevents a fresh server-history lookup, and the local Acme guest uses its own membership history. General prose about recent repository activity or project artifacts still does not silently choose a checkout.
  • An initially selected Mac now says Preparing Mac while its managed workspace attaches. Retrying Mac is reserved for explicit recovery, and Brain no longer probes session history to rediscover the current run’s computer, repository, or environment.

August 10, 2026 — Connecting a session to your computer actually runs there

  • Repositories are now context, not a prerequisite. Web and public API sessions can start as scratch work with no connected repository, and a disconnected repository from old recent-session history can no longer be selected by inference. Ara removed the former repository Environment setup, required-key and required-plugin readiness gates, authored setup scripts, snapshot builds, and their background repair jobs; agents discover dependencies and use workspace secrets as part of the task instead. Secrets are now only personal or workspace-wide; the deprecated repository secret scope and empty “required key” placeholders are gone.
  • Device handoffs now have an explicit four-coordinate contract: Device, local path, repository origin, and branch. Source checkouts remain on the selected computer rather than in PostgreSQL; normal moves use the Git branch, while a verified checkpoint bundle protects full Mac working-tree state during recovery into Ara Cloud.
  • Ara now treats requests about “my Mac” or a named local machine as Device work: it checks the current workspace’s available devices and granted roots, attaches an unambiguous match, then finds the relevant checkout inside that root. A task no longer needs to begin with a repository selection: the new task composer infers a named or recently used repository from the request, while an explicit scratch/no-repository request always beats recency. A named computer can be attached from ordinary prose or an @ capability mention; the availability rows remain read-only rather than becoming target pickers. Sending immediately while the repository list is still loading now joins that same in-flight load before routing, instead of treating the temporary empty list as a request for a scratch workspace. Repository switches in a session are also remembered for the next new task.
  • Natural availability wording from the composer, such as “my online MacBook Pro,” now routes to that Device instead of falling through to Ara Cloud. The desktop app also invokes Device-only lifecycle actions through Ara’s private internal command boundary; the deleted public ara local command is no longer a hidden desktop dependency.
  • A deploy-time retry now keeps the same managed Mac checkout when its run, path, origin, and branch still verify, even if Ara’s private bootstrap-policy marker changed between releases. Ara never resets the checkout or accepts a different origin or branch. Cloud handoff also probes an exact-name sandbox collision replacement before using it and recreates one acknowledged-but-dead workload automatically.
  • Read-only shell probes that use temporary files now appear as shell activity in the session trace, not as repository edits. Redirects to durable workspace files continue to appear as edits.
  • A run that Ara already routed to a specific computer and repository now waits on that in-progress Device attachment through its physical shell instead of redundantly listing, reconnecting, disconnecting, or creating another session. Canonical ara_* control calls also appear as Ara MCP activity in the trace, never as file edits merely because an argument contains a repository path.
  • A reply that explicitly names a different connected repository now creates one correctly bound continuation before the agent starts. Ara keeps the requested Cloud or Device target independently and drops the old repository’s branch, issue, and pull-request metadata, instead of making the agent list Devices and create multiple target sessions. Ara Cloud is treated as the already attached included computer, so a Cloud reply starts with its shell directly.
  • Session activity recognizes typed ara_* calls even when the event title includes serialized inputs. Read-only probes that clean up files under the system temporary directory also stay shell activity rather than appearing as source edits.
  • The new-task screen now shows a read-only overview of the computers and repositories available to Ara, including the workspace’s included Ara Cloud computer. Rows are deliberately not selectors: Ara still infers both targets from the request, while dedicated links let members add another computer or repository. While connected repositories are loading, the overview now says so instead of briefly claiming the workspace has none.
  • When several eligible devices or roots exist, Ara does not pick one arbitrarily or block the follow-up. It keeps the conversation safe in Ara Cloud while Brain resolves the named machine through the audited Device tools. Repository discovery on a local device also rejects unbounded recursive fallbacks before they reach the device.
  • When a request names a connected repository for Device work, Ara stages its managed checkout with the workspace’s repository access and verifies that working directory first. It scans a granted personal root only when the user explicitly asks for a pre-existing checkout or path, or when the staged origin does not match. This keeps ordinary Cloud-to-Device repository switches out of personal folders and avoids a redundant filesystem search.
  • The Ara Device background worker now reconnects after transient timeouts, deploy-time 502s, and dropped sockets with bounded backoff. launchd also restarts an unexpectedly exited worker while the device remains enrolled. A local telemetry-spool failure cannot interrupt that reconnect loop.
  • Ara CLI 0.2.33 closes interrupted REPL clients before shutting down a Hands session. A cancelled run can no longer leave Chromium holding the Device’s single execution slot and make every later Mac handoff report that the machine is unavailable.
  • Ara CLI 0.2.34 makes bare ara device self-healing for an enrolled Mac. If its managed LaunchAgent is stopped or missing, the command restarts it before reporting status without opening the native Device-proof boundary.
  • Ara CLI 0.2.36 treats an expired or revoked interactive login as signed out. ara status still reports local MCP and Device health, ara whoami asks you to sign in, and ara login starts a fresh authorization instead of exposing the OAuth invalid_grant error. A login rotated by another Ara process is preserved.
  • ara update now temporarily stops and restarts an active Device worker so it can actually activate a newer signed runtime immediately. It no longer says the installed version is current merely because the worker owns the runtime singleton. The update also safely adopts Ara’s own older curl launcher so removed tui and open aliases cannot remain available through a stale ~/.local/bin/ara; package-manager and unrelated launchers remain untouched.
  • Browser diagnostics now renew their bounded event budget when a long-lived Ara tab changes routes, so later device and repository routing decisions stay visible in operational telemetry with the selected repository and signal.
  • Generated ara/agent/* branch names stay readable in streamed and completed results after a Device-to-cloud or cross-repository continuation. Secret-like unknown tokens remain redacted; only the platform-owned branch identifier is preserved, including when the run and its installed MCP tools each apply a separate secret-redaction layer.
  • Asking a session to connect to one of your machines now moves the session onto that machine and root. Previously the request was recorded but the session stayed pointed at the cloud, so the work queued for your computer could never be picked up: the Ara Device worker polled, was never offered the operation, and the session eventually failed waiting for hands to become ready.
  • Disconnecting returns the session to your organization’s cloud workspace, so you can hand work back and forth between your computer and the cloud within a single session.
  • A connect request that names a machine which is offline, on an unsupported protocol version, or without an active granted root is refused and leaves the session on the cloud, rather than stranding it against hands that cannot arrive.

August 10, 2026: Sessions stay in Ara Cloud

  • The experimental terminal session command has been removed. Sessions and chat stay in Ara Cloud while the CLI focuses on login, updates, MCP, Device, and machine-wide status.
  • ara device is idempotent and now reports its organization and last real task use when it is already configured.
  • Ara CLI 0.2.32 keeps that repeated ara device status read outside the native signing boundary, so it works consistently from both the installed release and a source checkout without re-enrolling the computer.

August 7, 2026 — Workspace reuse behind a Git proxy

  • The Ara Device worker now reuses an existing run workspace on machines whose Git configuration rewrites remote URLs, via url.<base>.insteadOf (common with corporate Git proxies and with ssh-instead-of-https rules). The reuse check previously read the rewritten URL back and compared it against the original clone URL. Those never matched, so the worker treated a perfectly good checkout as foreign and re-cloned the repository on every run.

August 7, 2026 — Notarized CLI and worker

  • Ara CLI 0.2.31 ships an Apple-notarized command line and Ara Device worker. The signed broker and its Keychain library are now submitted to Apple’s notary service during release, so macOS Gatekeeper clears them on first launch instead of warning that Apple could not verify the app is free of malware.
  • The compiled worker no longer bundles the macOS fsevents native addon, so it no longer unpacks an unsigned helper library at runtime that triggered a second Gatekeeper warning. File watching falls back to the portable watcher.

August 4, 2026 — Verified Device handoffs

  • Ara Device and Ara Cloud now advertise and verify the same versioned worker entrypoint, protocol, and SHA-256 artifact before a session can claim the relay. A mismatched worker is fenced instead of accepting frames from a different build.

August 3, 2026 — Clean-host worker packaging

  • Execution-target status for a Device session now reads as a slim bar in place of the composer, the same way an archived session does, instead of a large block above the transcript. While Ara retries the Mac or moves the session to Ara Cloud, the bar states what it is waiting for and input stays closed; the Retry Mac and Continue in Ara Cloud choices sit inline in that bar.
  • The background worker’s login item now identifies itself as Ara wherever Ara for Mac is installed, instead of surfacing the signing certificate’s developer name in macOS background-activity notifications and Login Items.
  • Ara CLI 0.2.29 binds the active managed-runtime identity into its LaunchAgent configuration. After an upgrade, the next bare ara device gracefully replaces an older resident worker; repeated invocations on the same version remain idempotent. It also lets a completed Device session report its final Hands lifecycle events before Ara closes the run, so clean teardown is recorded without recovery cancellation or stale operation frames.
  • Ara CLI 0.2.30 advertises the exact Ara Hands worker artifact so the broker can fence stale Device installations before enqueueing work. Older Devices remain registered for existing capabilities while Hands waits for the signed upgrade instead of receiving an incompatible payload.
  • Ara CLI 0.2.27 validates persistent REPL requests before execution on the signed Bun runtime, preserving multi-statement and explicit-return browser calls without risking duplicate evaluation.
  • Ara CLI 0.2.26 embeds the browser runtime metadata used by Ara Device, so a newly installed worker no longer depends on files from the release builder.
  • Production publication now waits for the signed Darwin arm64 package to run its version and Device lifecycle checks on a checkout-free Mac.
  • Ara’s local operation broker now admits the long-lived Hands connection used by Device sessions, so a selected Mac can receive the session instead of stopping before the operation reaches its worker.
  • Device checkpoints use leader-consistent object writes and reads, with a bounded transport retry, so a Mac and Ara Cloud can verify the same durable workspace even when they run in different regions.
  • Ara persists verified Device checkpoint metadata under explicit database types before allowing the Mac turn to continue.
  • Repository-bound Device sessions stay on the selected Mac when a full-tree checkpoint exceeds the 100 MiB safety cap. Ara durably marks cloud continuation unavailable and rejects stale checkpoint handoff instead of misreporting the Mac as unreachable or restoring older work.
  • If a session restarts before a Mac binds, recovery fences the old Device writer, confirms the relay name is absent, then waits for the recreated cloud worker before starting relay services. If the old one-slot worker is still draining, Ara retries only that same Mac after complete cleanup; it never silently switches targets.
  • Display prewarm skips Device relay workers because the real browser and desktop live on the enrolled Mac.

August 2, 2026 — Managed native worker

  • Run ara login, then bare ara device, to install or repair this Mac as a full-access background Ara Device. Repeating ara device is idempotent.
  • The signed worker updates its managed runtime, health-checks the active release, and rolls back a failed activation.
  • Ara Device stays an execution target for an Ara session; conversation and session history remain in Ara web.
  • Ara CLI handles sign-in and local setup, MCP connects coding agents to Ara’s typed tools, and Ara Device runs approved file and shell operations on the selected computer.
  • To connect a Mac, open Workspace → Devices, choose Copy Ara CLI setup on the Add a Mac card, and complete the browser approval.