Skip to main content
For the visual release feed, see ara.so/news.

August 15, 2026: Actionable session machine restart notice

  • Replaced the passive retry control on disconnected session surfaces with an actionable Restart button wired to session runtime restarts.
  • Unified hover details, icon spinning indicators, and accessibility labels across panel notices and navigation machine status pills.

August 15, 2026: Multi-repo workspace sessions and status-first session list

  • Sessions now operate as workspace-centric conversations in /work rather than single-repository containers, allowing agents to clone or attach connected repositories dynamically and open pull requests against explicit target repositories without session restarts or sub-session splits.
  • Harmonized device and repository attachment guidance across cloud runtime prompts so multi-repo and repository-neutral workspaces use consistent workspace delivery.
  • The session navigation sidebar now supports dynamic repository grouping with multi-repo projection across all touched repositories, connected workspace repositories with case-insensitive filtering in the submenu, zero-repo scratch organization under General, and status/people grouping.

August 15, 2026: Sandbox execution and credential hardening

  • Package installs in the cloud sandbox now skip lifecycle scripts by default (npm_config_ignore_scripts, YARN_ENABLE_SCRIPTS=false), so untrusted repository content can no longer trigger install-time code execution.
  • The repository clone URL exported into the sandbox no longer embeds the source-control credential; authentication flows through the git credential helper instead, keeping the token out of environment dumps.
  • Session steering messages now emit a caller-identity audit event, attributing each follow-up that continues a run to the user or API key that sent it.

August 15, 2026: Consolidated high-throughput CI/CD pipeline

  • Consolidated CI shards into a unified 2-shard execution model running concurrent Vite builds, typechecks, and 978 unit tests on 16 vCPUs.
  • Direct test IPC and temporary state to Linux in-memory filesystems (TMPDIR=/dev/shm), cutting PR gate wall-clock down to sub-40 seconds.
  • Standardized shallow Git checkouts across all build and test jobs.

August 15, 2026: Accelerated production builds and streamlined API container image

  • Streamlined the backend API container image to run directly from source with Bun, cutting redundant frontend bundling and typechecking from API service deployments.
  • Parallelized web application and component preview builds to run concurrently, reducing frontend deployment and preview build times.
  • Optimized replica draining windows and asset compression checks for faster rollouts across staging and production.

August 15, 2026: Sandbox egress proxy routing and destination allowlist policies

  • MicroVM sandboxes now support platform egress proxy routing, enforcing that sandbox outbound traffic routes through the platform relay and preventing workspace secret overrides.
  • Introduced destination allowlist policy filtering covering developer package registries, SCM hosts, and curated connector endpoints in observe and enforce modes.
  • Added support for brokered secret exposure modes, withholding credentials from the sandbox environment while retaining host-side tool access.

August 15, 2026: Guarded pull request creation and chat privacy

  • Interactive web chat sessions no longer automatically open unsolicited backstop pull requests when reviewing code or exploring branches.
  • Workspace finalization now tracks per-turn commits, pushing branches only when new commits were explicitly authored during that turn.
  • Code review, bug audit, and informational questions now remain strictly inside the Ara chat thread by default and never mirror conversational analysis onto GitHub pull requests or issues.

August 15, 2026: Accelerated web application type compilation and localization loader

  • Optimized localization catalog dynamic loaders to stream locale definitions on demand, accelerating frontend compilation and type checking.

August 15, 2026: Database connection pool scaling and claim backpressure

  • Raised default production and development database connection pool capacities to prevent connection slot starvation under high concurrency.
  • Worker queue dispatch now debounces transient database waiter spikes before pausing worker claims, keeping background agent scheduling responsive during bursty traffic.

August 15, 2026: Mobile session source logos stay contained

  • MCP client logos in the mobile session sidebar now stay inside their 12px origin badge instead of expanding over nearby session titles.

August 15, 2026: Production Pulse has a native always-on view

  • The six production reliability graphs are available across ara.engineer/production and ara.engineer/prod2, protected by the same one-time-code access as the founder dashboard.
  • Every graph keeps a compact color-to-series key visible inside the graph frame without hovering, refreshes every 60 seconds, and connects sparse samples across missing buckets like Grafana’s always-on null handling. Telemetry freshness remains an explicit independent signal. User latency stays pinned to a stable 0–10 second axis so a slowdown cannot visually rescale itself away. The message, run, and inference volume graphs scale tightly to the maximum observed in the selected window, making their full dynamic range visible.
  • Each wall’s window switch moves its graphs together between the last 72, 24, 6, or 1 hour and requests an appropriately sampled snapshot for that window. Short views now expose 1–5 minute inference, queue, latency-component, and production-pressure detail instead of stretching 15–60 minute buckets.
  • The always-on view uses a slimmer utility bar with only the ara.so wordmark, range controls, refresh, and sign-out actions, leaving more room for telemetry.
  • The production wall is now split for multi-screen monitoring: ara.engineer/production keeps panels 01–04 in a fixed 2×2 grid, while ara.engineer/prod2 stacks constraint pressure and canary health as two full-width rows.
  • Both walls preserve a 1920×1080 logical canvas and scale proportionally—equivalent to 50% browser zoom on a 960×540 monitor—instead of collapsing their grids.

August 14, 2026: Fast isolated test execution

  • Test execution across backend and frontend suites now runs through a native TypeScript worker pool with longest-processing-time (LPT) scheduling, eliminating process fork overhead and core tail starvation while preserving per-file isolation.
  • Test-mode backoff and retry sleeps are truncated across all internal relay, API, and gateway drivers, and frontend test suites are partitioned to fan out across available worker cores concurrently.

August 14, 2026: Production recovery is standardized

  • Ara’s release process now separates immediate traffic restoration from the durable source fix, so a known-good frontend or API deployment can restore service without waiting for a rebuild.
  • Rollback checks now preserve later commits and already-applied migration history, verify the exact affected customer path, and prevent ordinary code regressions from triggering an unsafe database restore.
  • A protected-main incident workflow can now collect the live frontend/API identities, retained pre-change candidates, migration and later-commit risk, plus current canary evidence into one #alerts recommendation. It can prepare a draft source-revert PR when explicitly requested, but cannot merge, deploy, switch traffic, or touch data.

August 14, 2026: Site failures can be reproduced from the affected network

  • Production monitoring now compares independent recursive DNS providers and retains cross-region TLS-certificate and TCP-path history, making a resolver-, ISP-, or CDN-specific failure distinguishable from a global outage.
  • A failed cloud-browser run now preserves its available logs, trace, screenshot, video, report, and network diagnostics with the scheduled run instead of leaving only a red check.
  • Support can give an affected Mac a no-install capture that tests every current JavaScript and stylesheet, or temporarily run the same browser and HTTP test through that exact network. The temporary probe key and location are removed after the incident.

August 14, 2026: Continuous production-path verification

  • Ara now continuously checks the same production path a real authenticated session uses: API access, a warm reply, cold start, inference settlement, cloud-machine tools, and a connected GitHub repository read. Each check verifies the exact result as well as its latency instead of treating an HTTP success as proof that the product works.
  • Queue age, database waiting, event-loop responsiveness, active-run pressure, machine quota, host limits, and user-visible latency now share one 72-hour operational view. Repeated failures, exhausted latency headroom, or missing check telemetry alert independently so a silent observer cannot look green.
  • That operational view now renders as six always-on Grafana graphs backed by Ara’s production telemetry, with every colored series, latest value, maximum value, and 80%/100% canary reference line visible without hovering.
  • The daily reliability run now also completes exact direct-answer and cloud-tool sessions through the ordinary production API, attaches a deterministic 24-hour summary of queueing, latency, host pressure, database waiting, and sandbox headroom, and reports through an independent heartbeat.
  • Manual canary runs now execute only from the reviewed main branch, so an arbitrary branch cannot receive the production observer’s Infisical token.
  • Production runtime, public user-path, pull-request review, and model-response probes now run only in one dedicated canary-box workspace. Their reusable history and alerts are scoped to that workspace. Staging toolbelt and compaction probes stay isolated on the synthetic ara-staging database and stable staging API, and cannot resolve production or customer rows. Shared target guards and CI contract tests reject an accidental customer-org or cross-environment override before a probe starts.

August 14, 2026: Landing-page asset recovery is deployment-safe

  • Generated JavaScript filenames now include the deployment identity whenever their bytes contain deployment-pinned imports, preventing two releases from publishing different module graphs under one cached pathname.
  • Browser caches now revalidate generated assets instead of retaining a transient missing-file response as immutable. Ara still retries failed bootstrap files and displays a self-contained recovery screen if the network remains unavailable.
  • The daily reliability suite now fault-injects every required bootstrap script and stylesheet, while CI verifies the complete emitted dependency graph carries one consistent deployment pin.

August 14, 2026: Product analytics returned to PostHog

  • PostHog is again Ara’s single product-analytics destination across the web client and API. Events now include environment, service, release, workspace grouping, and retry-safe billing identifiers while operational telemetry remains on its separate reliability path.
  • The Revenue dashboard now centers the current cash-backed MRR split, its seven-day history, and the current paying-customer table. Older revenue dashboards remain recoverable but have been archived out of the active list.
  • Ara’s founder-only revenue surface is now a read-only duplicate of the canonical PostHog Revenue dashboard. The TV surface now strips away the pie, cards, borders, metadata, and explanatory copy so only the current MRR and its full-width history line remain, refreshed automatically.

August 14, 2026: Retired experimental iMessage and applicant scoring paths

  • The unreleased iMessage connection flow and its Photon runtime have been removed. Ara’s supported messaging integration remains Slack.
  • Career applications are still recorded and sent to the hiring team, but Ara no longer assigns automated candidate scores or exposes repair tooling for those scores.

August 14, 2026: Repository Wiki is retired

  • The retired AutoWiki and DeepWiki pages, settings, background-agent option, marketing page, and internal app endpoints have been removed.
  • Existing Wiki links continue to open Codebases so old bookmarks do not strand users. Repository-native runbooks and organization memory remain the supported sources of durable context.

August 14, 2026: Free is the full product, subscriptions start immediately

  • Every Ara feature is now available on Free when you connect your own model provider. A first workspace also receives a one-time $5 Ara-hosted inference balance, shown in the left sidebar.
  • Ara Pro is a straightforward 20monthlysubscriptionwith20 monthly subscription with 20 of hosted inference spend. It is charged immediately; free subscription periods and free-month promotions have been removed.
  • Billing now speaks in dollars throughout. Paid workspaces can configure an automatic reload amount and monthly cap, while exhausted Free workspaces see a direct Ara Pro card instead of a trial offer.

August 14, 2026: Cloud machines clear space before they run out, not after

  • A machine now clears its old process logs once it crosses 90% file usage, instead of waiting until it is completely full. Recovering an already-full machine buys back only enough room to start a single process, so acting early is what gives the real cleanup room to work.
  • Every cleanup pass now reports how full the machine was, so pressure building on a machine is visible as a trend rather than only becoming apparent once sessions on it start failing.

August 14, 2026: Daily cross-region landing-page verification

  • Ara now discovers the landing page’s current JavaScript and stylesheet files every day at 6:07 AM Pacific and verifies their status, type, cache policy, deployment pin, DNS, and TLS from independent probes around the world. The check follows each deployment’s live asset names instead of relying on hashes that go stale after the next release.
  • Real browsers also load the home, pricing, and contact pages, verify that every application script and stylesheet succeeds, and confirm that the final page is styled rather than merely returning HTTP 200. The same core check runs after frontend deployments, while the lightweight worldwide DNS and HTTPS check continues every ten minutes.
  • The ten-minute check now deliberately samples consumer ISP networks as well as datacenters, matching failures that affect only one resolver or access network. A pre-application sentinel and browser Network Error Logging also preserve evidence when required page files fail before Ara’s normal analytics can start.
  • Every site check now enters through www.ara.so, verifies its DNS, TLS, and canonical redirect before validating the resulting page and assets, and uses a Checkly heartbeat to alert if the scheduled daily suite itself stops running.
  • The browser check now resolves one Playwright runtime consistently in both scheduled CI and Checkly-enabled development installs, preventing the monitor itself from failing before it tests the public pages.

August 14, 2026: Product analytics telemetry cutover to Mixpanel

  • Internal product analytics telemetry across the web client and API server has been migrated to Mixpanel.
  • Browser session replay is configured with strict client-side masking for credentials, secrets, and authorization fields.

August 14, 2026: Staging sign-in previews stay inside staging

  • Staging branch previews now send sign-in callbacks and client telemetry only to non-production APIs. Relative fallback requests also stay in staging, while each API and sign-in callback keeps an exact inbound origin allowlist, so preview traffic cannot fall through to production.

August 14, 2026: Clearer error when a macOS or Windows machine can’t start

  • Starting a macOS or Windows cloud machine could fail with an unrelated-looking error when its underlying runtime was misconfigured, instead of saying what was actually wrong.
  • The machine now checks that its runtime is reachable before attempting to start, and reports plainly when it is not, rather than failing partway through with an opaque error.

August 13, 2026: Cloud sessions wait safely at dependency limits

  • The cloud worker now pauses new session claims when its foreground database pool has a waiter or reaches 80% utilization. Sessions already running keep going, while new work stays durably queued until database headroom returns.
  • If the sandbox fleet reaches its account-wide machine quota, a session now returns to the durable queue and retries after a spread delay instead of ending as Interrupted. A rejected sandbox admission does not consume a run recovery attempt.
  • A completed inference stream now releases its per-session concurrency slot immediately, even if the upstream provider leaves the connection open. This prevents the session’s own recovery attempt from being rejected behind an already-finished request.
  • Operators receive an immediate alert when the sandbox fleet limit causes a requeue, alongside the existing database-pool and fleet-headroom warnings.

August 13, 2026: A full cloud machine can now clean itself up

  • A machine that filled up could not recover on its own. Cleaning up finished workspaces requires starting a process, starting a process requires writing a log file, and a full machine cannot write one, so cleanup failed and the machine stayed full. Every session assigned to it then failed within about a second.
  • Cleanup now clears the machine’s own process logs first, using a path that does not need to start a process, which frees just enough room to run the real cleanup that reclaims the space.
  • This only ever removes logs of processes that already finished. Your work is never touched, and if the space cannot be freed the machine is reported as still full rather than reported as cleaned.

August 13, 2026: Cloud machines keep reclaiming space after a machine is recycled

  • Recycling a machine could leave its per-session workspaces marked as still needing cleanup forever. The cleanup sweep checked that the machine was alive, the recycle then removed it, and the cleanup failed against a machine that was already gone, so it retried the same workspace on every later pass.
  • A workspace on a machine that is confirmably gone is now retired, because the workspace went with it. A machine that is merely unreachable for the moment is left alone and retried, so a temporary blip can never make a live machine’s workspace look reclaimed.

August 13, 2026: Landing pages recover from interrupted asset downloads

  • If a required landing-page script or stylesheet is interrupted, Ara now retries that exact version before attempting a bounded page reload.
  • If the browser still cannot retrieve the files, the homepage stays readable and shows a clear Try again action instead of a blank page.
  • Terminal failures now alert the team with the deployment and exact asset path, while transient failures and successful recoveries remain queryable.

August 13, 2026: Worldwide landing-page reachability monitoring

  • Ara now checks www.ara.so DNS resolution and HTTPS reachability every ten minutes from independent probes around the world. A missing successful check also alerts the team, so a failed monitoring provider cannot silently remove regional coverage.
  • Every browser bootstrap now has one recovery-safe load identifier. Interrupted assets, successful recovery, exhausted recovery, the exact deployment, and the eventual page load can be measured as one sequence instead of unrelated error counts.
  • Recovered loads are linked to PostHog sessions when analytics becomes available, while pre-application failures continue reporting independently of the application bundle.

August 12, 2026: A warm workspace is reused only by the person who left it

  • Ara keeps a member’s cloud workspace warm so a follow-up starts fast instead of cloning again. Reuse matched on the workspace, the repository and the machine’s state, but not on who the earlier session belonged to. A follow-up sent by a different member of the same workspace could therefore start inside a machine another member had been working in, and see the files left there.
  • Reuse now also requires the same person. A follow-up from someone else starts a fresh workspace, which is slower for that one start and sees nothing of the other session’s work.
  • The check refuses whenever it cannot confirm both sides belong to the same person, so an incomplete record costs a cold start rather than granting access.
  • Nothing about your own follow-ups changes.

August 12, 2026: Lighter marketing-page image loading

  • The marketing homepage no longer downloads every inactive product-carousel screenshot as soon as the page starts. The currently shown screenshot still loads immediately, while later slides load when the carousel reaches them.

August 12, 2026: Stable mobile navigation height

  • The mobile app bar now keeps its full navigation height instead of compressing in constrained viewport layouts.

August 12, 2026: A persistent badge for goal-driven sessions

  • Sessions started with @goal now show a persistent Goal badge on the message that started them, so you can tell later which sessions are goal-driven even after @goal itself has been stripped out of what’s shown.

August 12, 2026: Faster answers when many sessions start together

  • Concurrent scratch sessions now share identical startup lookups instead of repeating them for every session, and persistence work that is not required for the first answer runs after the agent finishes.
  • In a controlled 50-session staging comparison, median send-to-first-answer latency fell from 8.8 seconds to 6.2 seconds and p90 fell from 17.6 seconds to 12.4 seconds. All 50 sessions completed in both runs.
  • Dispatch now emits one structured timing event with each database-backed startup stage, so future regressions can be attributed without adding logs throughout the latency-sensitive path.

August 12, 2026: A machine could be out of space while the panel read healthy

  • The machine panel now reports Files alongside Storage. A machine’s filesystem has two independent limits, total bytes and total files, and either one running out stops it writing. Showing only bytes meant a machine sitting at 57% storage but 90% files looked completely healthy right up to the point every session on it began failing in about a second.
  • The Files row uses the same colour thresholds as the others, so file-count pressure turns amber and then red on its own instead of staying invisible until it is fatal.
  • The machine capacity response gained an inodes object (total, used, available, usage_percent). Where a machine’s platform cannot report it the values are null, and the storage figures are unaffected.

August 12, 2026: Session pages load without jumping

  • Opening an uncached session now shows a shimmer shaped like the final header, transcript, and message composer instead of a centered loading mark.
  • Review details, changed files, and workspace files now reserve their final layout while they load. Session information that is already available stays visible rather than flashing back to a placeholder.

August 12, 2026: PR-review interruptions retain their real cause

  • PR Review no longer collapses unavailable proposers, incomplete proposer coverage, diff-fetch trouble, and posting trouble into one generic diagnostic reason. Interrupted attempts now retain the exact stage and cause so a continuation or operator can act on what actually stopped.
  • Historical review attempts remain intact. Where the old stored message only says the review swarm stopped, Ara labels it as a legacy swarm interruption instead of guessing a more specific cause.

August 12, 2026: Late repository discovery stays in the same Session

  • A repository-neutral coding Session now attaches the exact connected repository and continues the original task in the same chat. It no longer reports success by creating and linking a second Session.
  • When a fresh checkout is required, Ara uses a successor execution only after the original execution has securely stopped. The transition preserves the original input and attachments, model and reasoning settings, connector thread, and visible Session identity.
  • Live output keeps a distinct internal stream key for each execution even while both are presented under the stable Session ID, so output from the repository-neutral and repository-backed executions cannot be combined.
  • Generic Session creation is no longer available to a live run. Explicit, bounded subagents remain available for genuinely independent parallel work; discovering or attaching a repository is not delegation.

August 12, 2026: Session context expands from the top bar

  • Session status now appears as compact tabs for queued messages, plan progress, subagents, changed files, and recent edits. Opening a tab expands the existing top bar in place, so context stays aligned with the conversation instead of covering the composer. A desktop pointer previews a tab on hover and collapses it on leaving the bar; touch screens continue to open tabs with a tap.
  • The @ mention browser now uses that same expanding surface, with categories and matching results side by side. The composer’s add button opens the same browser, while file attachments remain available at the bottom of the list.
  • Skills are discoverable through @ alongside repositories, devices, files, plugins, secrets, automations, and sessions; / remains focused on commands.

August 12, 2026: A safer foundation for sessions with multiple resources

  • Ara now has an additive internal data foundation that separates a durable Session from its requests and execution attempts. Repository context is represented as attachable Resources, while working and delivery targets stay task-local and separate from access authority.
  • The foundation also defines exact, short-lived Capability records for later point-of-effect enforcement. It does not change existing sessions, APIs, worker claiming, or repository behavior yet; runtime dual-writing, measured backfill, and reader cutover ship as separately verified changes.
  • The target contract treats a repository discovered after work starts as a continuation of the same Session and Turn. The current execution Attempt continues when safe; otherwise a successor Attempt resumes after teardown. A separate Session is reserved for explicit independent delegation. Runtime behavior changes only after the attachment service and regression gates land.

August 12, 2026: Measure session recovery before automating it

  • Ara now measures how often Interrupted sessions are continued, how often the continuation eventually reaches Done, how long recovery takes, and its added cost. The measurement follows the full continuation chain and does not add work to message delivery or session startup.
  • This does not automatically retry Interrupted sessions. The data establishes which narrowly defined infrastructure interruptions benefit from recovery without repeating expensive or user-actionable failures.
  • Sessions blocked by a missing GitHub App installation now appear as Needs input and are excluded from the Interrupted recovery funnel.

August 12, 2026: Sessions can inspect and repair pull-request failures

  • Coding sessions can now read the complete state of their pull request, including commits, checks, reviews, inline comments, discussion, and every changed-file patch through bounded pages that also support very large PRs.
  • When CI fails, a session can inspect the exact check output, annotations, failed GitHub Actions step, and a bounded redacted log excerpt, then push a repair and re-check the pull request instead of stopping at the aggregate required-check name.

August 12, 2026: Automation catalog removes redundant trigger label

  • The Automations page no longer shows the visible “Last triggered” label above the automation list.

August 12, 2026: Mintlify docs navigation

  • Ara docs are now available through Mintlify at ara.so/docs and docs.ara.so, with one compact top bar for Documentation, API reference, and Changelog.

August 12, 2026: Sidebar attention states use clearer wording

  • Session rows that require a response now say Needs input instead of Needs you, making the next action explicit.

August 11, 2026 — Stable conversation history loading

  • Sessions now identify when earlier messages are still loading, keep the latest exchange usable, and insert the completed history without moving the reader’s visible message. A compact retry state preserves the current conversation when older history cannot be fetched.

August 12, 2026: Session actions stay above the sidebar

  • Opening a session’s three-dot actions menu now keeps the full menu above neighboring session titles and status details, including in project-grouped views.

August 12, 2026: A repository-name case mismatch could silence an automation

  • A GitHub automation (including PR Review) matched an incoming webhook’s repository name against its trigger with an exact, case-sensitive comparison, so Owner/repo and owner/repo were treated as different repositories even though GitHub itself treats them as the same one. An automation configured this way never ran, with no error surfaced anywhere. Matching is now case-insensitive.

August 12, 2026: Preview chat images before downloading them

  • Clicking an image attached to a chat message now opens the in-app preview instead of allowing the browser to download it immediately. Download remains available as an explicit action in the preview.

August 11, 2026: Run PR Review on your connected ChatGPT subscription

  • The PR Review automation’s Provider control now offers a connected ChatGPT Plus/Pro subscription alongside Anthropic, OpenAI (API key), Google, and GitHub Copilot.

August 12, 2026: Earlier cloud-capacity warnings

  • Ara Cloud now measures the agent worker’s CPU, memory, process, and concurrent session headroom every minute and warns operators before the shared service reaches its cloud compute limits. This does not change session admission or impose a new customer concurrency limit; it gives the team time to protect active sessions and add capacity before resource pressure becomes a user- visible queue or failure.
  • CPU is now reported both as a share of the full cloud-compute allowance and as actual core-equivalents. Separate event-loop warnings detect when the shared Bun process becomes slow even though its multi-core host percentage still appears low.
  • Separate fleet warnings now track the external sandbox-provider quota. This catches the boundary where new cloud machines would be rejected even though the shared worker still has ample CPU and memory.
  • The worker now admits at most 50 simultaneous sessions per replica, the highest staging band that completed without a runtime failure. Additional sessions remain durably queued instead of amplifying database and Device pressure into failed runs.

August 11, 2026: Transcripts stop masking ordinary configuration values

  • Every workspace secret’s value was masked as *** wherever it appeared in a session transcript, streamed output, error log, or pull-request body. When a secret held a deployment value rather than a credential, that masked ordinary words: a workspace with NODE_ENV=production saw every mention of production replaced, and one with a branch or port stored as a secret lost those too.
  • Masking now skips values shorter than eight characters, which cannot hold a credential, and skips values whose variable name shows it is not one: framework-published names (NEXT_PUBLIC_*, VITE_*, REACT_APP_*, EXPO_PUBLIC_*, PUBLIC_*) and deployment coordinates (NODE_ENV, PORT, *_REGION, *_PORT).
  • A name that still indicates a credential keeps its masking even with a published prefix, so NEXT_PUBLIC_STRIPE_SECRET_KEY is unchanged, while NEXT_PUBLIC_SUPABASE_ANON_KEY is not masked.
  • Credential detection by shape is unchanged: provider tokens, API keys, JWTs, private-key blocks, credentialed URLs, and any long opaque token are still masked whatever they are named. Storage is unchanged too. Every workspace secret stays encrypted at rest and reaches the session exactly as before, and there is nothing to configure.

August 11, 2026: Sessions no longer end in a failed state

  • Sessions are durable conversations you can continue, so an attempt that stops unexpectedly is now Interrupted, not Failed. Continue the session to resume from the work and context already there.
  • Session status filters now use one consistent set of states: Working, Done, Needs you, Interrupted, and Stopped. The exact cause stays attached as a diagnostic reason and remains available in Logs.
  • Existing historical failed attempts automatically appear as Interrupted; no session history or recoverable work is removed.

August 11, 2026: Execution-target controls use product language

  • The internal session endpoint and web component that report whether work is running in Ara Cloud or on an Ara Device now use the product-domain name execution target.
  • Existing browser deployments remain compatible during rollout; this naming change does not alter where work runs or how target handoff is authorized.

August 11, 2026: Runtime errors use plain language

  • Session startup and failure messages now describe what happened and what to do next without exposing internal runtime names or diagnostic identifiers. Raw technical details remain available in Logs for troubleshooting.

August 11, 2026: Control how much the review bot filters away

  • The PR Review automation’s detail page now has a Sensitivity control: Low posts every finding (higher recall), High posts only the most severe (higher precision), and Medium is balanced. Previously this was a single platform-wide setting with no way to adjust it per workspace.

August 11, 2026: A simpler Ara home

  • The signed-out Ara home brings together Google sign-in, email verification, CLI installation, plans, and docs links in one compact surface.
  • The CLI command is always visible and copyable. Product and footer links lead to customer-facing documentation rather than separate marketing pages.

August 11, 2026: Review bot findings now default to high severity and above

  • Workspaces that haven’t set an explicit Sensitivity now default to High instead of Medium. A benchmark sweep showed High more than triples precision over Medium (26.7% -> 52.2%) for less than double the recall cost, so it’s the new out-of-the-box setting; switch to Medium or Low on the automation’s detail page for more findings.

August 11, 2026: See the instruction a one-click action sent on your behalf

  • Some buttons send the agent a longer, more specific instruction than the short line that appears in the chat. The Review panel’s fix actions work this way, so a row could read Make ready: fix conflicts while the agent received several paragraphs of detail.
  • Those messages now carry a View instruction toggle that expands to show exactly what was sent. Nothing new is recorded to make this work; the full text was always part of the message and simply was not shown.
  • Ordinary messages you type yourself are unchanged and show no toggle.

August 11, 2026: Live machine capacity in session actions

  • Open a cloud session’s actions menu to see a live snapshot of its storage, memory, and CPU use, plus its operating system, architecture, provider, and CPU count.
  • The snapshot refreshes while the menu is open. A warm machine refreshes less often. Retained sandboxes are checked before being shown as offline, so a reachable machine reports Warm even after its run has ended. If the retained sandbox is gone, the card settles on the offline state instead of presenting a capacity error.
  • Storage and memory bars call out elevated use at 75% and critical use at 90%, making capacity pressure visible before a repository operation runs out of room. On macOS, available memory includes reclaimable purgeable pages. The probe is on demand and never runs in the message or cold-start path.

August 11, 2026: Start a goal-driven session with @goal

  • Typing @goal when you start a session, or picking Goal from the @ menu, keeps the agent working until the task is verifiably done rather than until the model decides it has finished. Your message becomes the objective.
  • An independent reviewer, which reads your changes but cannot edit or run anything, writes the acceptance criteria from that objective and judges each one against the evidence in the diff. The checklist decides when the session is complete, so a criterion that later work breaks goes back to unmet.
  • The @goal token is not sent to the agent: it configures the session, and the objective is the rest of your message.
  • Available where your workspace has goal mode enabled, and offered when starting a session rather than on a reply, because a follow-up turn continues the existing run instead of opening a new goal.

August 11, 2026: Track how often @goal is actually used

  • Starting a session with @goal now records that the directive was used, separately from ordinary sessions that happen to be long-running. This is internal usage measurement only and changes nothing about how a session behaves.

August 11, 2026: Review bot uses your own connected model provider

  • The PR review bot now prefers a provider your workspace has connected at Settings → Models (Anthropic, OpenAI, Google, or GitHub Copilot) over Ara’s own model, when one is connected. It falls back to Ara only when nothing is connected.
  • The PR Review automation’s detail page now shows which model is actually in use, and lets you explicitly pick a connected provider (or Ara) instead of the automatic choice.

August 11, 2026: One set of actions for a pull request that cannot merge

  • The Review panel had two separate ways of offering to fix an unmergeable pull request: one that appeared from the pull request’s state before you clicked merge, and one that appeared after a merge was refused. They used different wording and gave the agent different instructions for the same problem.
  • They are now one. Whether a problem is spotted up front or reported by GitHub or GitLab after a refused merge, the panel names it the same way and hands the agent the same instruction.
  • The action now says what it will do — Fix conflicts, Fix checks, Resolve review, Mark ready for review — instead of a single generic label. Conflict instructions still match your chosen merge method, so a squash or rebase pull request is rebased and a merge-commit pull request has the base merged in.
  • Every one of these actions now sends its instruction straight into the session chat. Previously some filled in the message box and waited for you to press enter, and others sent it immediately.

August 11, 2026: A draft pull request offers Mark ready for review instead of a merge that cannot succeed

  • A draft pull request can never be merged, but the Review panel still showed an enabled merge button. Merging returned a provider error, and the failure was reported as a generic problem whose only offered action was Retry merge — which re-sent the identical request and failed again. This was the single most common merge failure.
  • The Review panel now recognises a draft. Instead of the merge button it shows Mark ready for review, which marks the pull request ready in place, in one click. The merge button returns once the pull request is out of draft.
  • A draft is also refused before the request reaches GitHub or GitLab, and it is now reported as its own condition rather than as an unknown failure, so the agent gets the same accurate reason a person does.
  • A draft PR that also has conflicts leads with the draft, because resolving the conflict alone would still not allow a merge.

August 11, 2026: Review panel actions are measured, including why a merge was refused

  • Every action button in the Review panel is now recorded: merge, the merge method you pick, changing the base branch, creating a pull request, Make ready, and the actions offered when a merge is refused. Previously only the merge button was counted, so there was no way to tell which of the others people actually reach for.
  • Each action also records how it resolved. A refused merge now carries a classified reason, such as a conflict with the base branch or a required check that is still failing, rather than only the fact that a button was pressed.
  • What is recorded is the action, the repository and pull request it applied to, the merge method, and the pull request’s mergeability and check state at the moment of the click. Reasons are recorded as fixed codes, never as raw provider error text.
  • No change to how any of these buttons behave.

August 11, 2026: Review bot findings default to medium severity and above

  • The PR review bot now keeps findings at medium severity and above by default, so routine style and naming remarks no longer show up alongside correctness and security findings.

August 10, 2026: Goal sessions stop failing on criteria nobody could check

  • A long-running session in goal mode is judged against acceptance criteria written by an independent reviewer. That reviewer reads your changes but cannot run anything, so criteria like “the test suite passes” could never be satisfied and held back sessions whose work was actually finished.
  • Criteria are now written in terms the reviewer can decide from the changes in front of it, such as which cases the tests cover, rather than results that would require running the code. Where a command’s output is available to the reviewer, it can still require that command to pass.
  • Criteria are also no longer written for committing or opening a pull request. Those happen after the session finishes, so they were never true while the work was being judged, and a single one could deny an otherwise complete task.

August 10, 2026: Goal-session criteria stay out of diagnostics

  • Long-running sessions running in goal mode derive acceptance criteria from your prompt. That wording is now kept out of platform diagnostics by default, because criteria are model-generated from your own text and a prompt carrying a credential could otherwise have it repeated back into a log line.
  • The number of criteria and how many are met are still recorded, so progress and adoption remain measurable. Only the wording is withheld, and it travels only when an operator explicitly enables it for a measurement window.
  • No change to how any session behaves or to what a goal session accepts.

August 10, 2026: The Developers page install command is copyable again

  • The curl install command on the Developers page now has a copy button, so the recommended way to install Ara CLI takes one click.
  • “Download Ara” now explains what to do with the saved file. Browsers save the installer without the execute bit, so opening it returned only permission denied. The page now says to run it with bash, and how.

August 10, 2026: Cloud machine resets now replace the machine

Session actions include a guarded Reset machine escape hatch for cloud sessions. Resetting now advances the machine identity before Ara creates the linked session, so the replacement cannot reconnect to the same unhealthy persistent machine. The old machine drains only after every active session has left it. Worktree cleanup also safely fences legacy sessions that do not yet carry generation metadata.
  • The transcript and pushed branch or pull-request context move to the replacement. Uncommitted or unpushed files remain on the old machine.
  • Completed persistent worktrees are removed after their inspection window, including both the directory and Git’s worktree/ref metadata. Cleanup and new session startup use an exclusive lease so they cannot race on the same branch.
  • Resetting a cloud session refreshes the session list before opening the fresh linked session. Local-device sessions continue to use their existing device controls.

August 10, 2026: More precise run timing under the hood

  • Ara now measures each stage of a session’s startup and wrap-up (workspace attach, tool readiness, and the moment a queued follow-up can begin) individually instead of as one total. Nothing changes in how sessions run; this is the measurement groundwork for upcoming latency improvements to session startup and queued follow-up turns.

August 10, 2026: Mention pills in the composer

  • @ mentions typed into the session composer (repositories, files, skills, plugins, sessions, secrets, automations) now render as a rounded pill with their icon leading the label, instead of plain colored text.
  • Repository mentions show the repository’s actual GitHub or GitLab mark.
  • Session mentions use the same pencil glyph as “New chat” elsewhere in the product, and the “New side chat” action uses it too.

August 10, 2026: Staged files survive leaving the composer

  • Files attached to a message but not yet sent are now kept with the draft text, so navigating away from a session and back restores both instead of only the typing.
  • A draft made of attachments alone, with no text yet, is now kept as well.
  • Drafts stay per workspace and session, and are still held only in the browser. A very large attachment that will not fit in browser storage is dropped so the typed text is kept.

August 10, 2026: A calmer Merge Bot policy page

  • The Merge Bot merge policy now folds into a single accordion stack: Risk tolerance, Safeguards, Maximum change size, Protected paths, Merge guidelines, plus the Always-on safeguards and Under the hood reference sections, all collapsed by default.
  • Sections whose values differ across connected repositories show a Mixed badge on the folded header, so cross-repository drift stays visible without opening anything.
  • The “How it decides” overview now reads as four one-line steps, with the full runtime explanation moved into Under the hood.

August 10, 2026: Reordered the session actions menu

  • Rename, Send feedback, Jump to, and Copy session ID now lead the session actions menu, ahead of the branch, execution device, and context window details.
  • Copying the session’s branch name now swaps its icon to a checkmark, the same feedback Copy session ID already gives, instead of a separate text notice.
  • Model usage and Runtime are now shown together on one line instead of two.

August 10, 2026: Secrets move into workspace settings

  • Secrets now have a dedicated Settings -> Secrets page instead of living inside each repository page.
  • Workspace secrets are available across the workspace, not stored per repository. An optional note gives Ara and teammates usage context; include a repository name there when a secret is intended for one codebase.
  • Secret values remain masked and write-only. Owners and admins can manage them, while other workspace members can see names, notes, and whether a value is configured.

August 10, 2026: A calmer session handoff

  • Opening a session now holds the content pane with a centered Ara-logo shimmer until the session snapshot is ready, instead of briefly showing an empty or partially stale chat frame.
  • The loading mark follows the active theme and becomes a quiet static mark when reduced motion is enabled.
  • The session title is now the actions-menu trigger. It uses the same faded title and rotating chevron treatment as More/Less, replacing the separate three-dot button; title and chevron share one divider-free hover highlight.
  • A new-chat icon beside the session title returns directly to the empty workspace composer, without opening the sidebar first.
  • Mobile navigation remains available during the loading handoff without being announced as loading status, and assistive technology reads the visible session title as the heading and menu trigger.

August 10, 2026: Search inside every session

  • Command-palette session search now searches the full workspace session history, including archived sessions and transcript text beyond the recent sidebar window.
  • Matches come only from customer-visible session titles, user messages, and assistant answers. System prompts, reasoning, tool calls and tool output stay outside search results.
  • Ordinary assistant answers are searchable whether or not their stored message carries optional delivery metadata.
  • Search runs on the organization-scoped API with a short input debounce and partial database indexes for visible conversation rows, keeping hundreds of sessions responsive without downloading every transcript to the browser.

August 10, 2026: New chat controls stay in the composer

  • New chat now keeps the model and thinking controls inside the composer, matching their placement in an active chat instead of showing a detached row beneath the input.
  • The former Dashboard destination is now named Settings, uses the settings gear, and sits last in the sidebar shortcut picker. Devices and Developers now use their dedicated Central Devices and Code Brackets icons.

August 10, 2026: Tool call trace polish

  • The expanded list of individual calls inside a grouped tool row (e.g. “Read a file and searched files, used browser”) is now spaced tighter, so a long trace reads as one list instead of loosely separated rows.
  • The browser tool’s icon now matches the sizing of every other tool icon in the trace; it previously rendered from a different icon set at a visibly smaller size.
  • A tool call’s +N -N line-count badge no longer appears for plain command output that merely resembles a diff (e.g. --- section --- log banners or a package manager’s + name@version install listing). It now only shows for an actual unified diff.

August 10, 2026: Settings account page reorganized

  • The Settings account panel drops the Legal (Privacy Policy / Terms of Service) and Devices sections, and the display-language subtext under Language.
  • Feedback is renamed Notifications.
  • Profile is followed by the workspace photo, name, and ID controls directly on Settings. The redundant General page and its localhost plan switch are removed; old General links return to Settings.
  • Preference sections stay open instead of behaving like accordions. Appearance shows the active light or dark icon, Notifications uses a bell, and the redundant System-theme explanation is removed.
  • Audit Log remains its own workspace page with the full searchable, filterable, monthly-grouped activity feed instead of being folded into the Settings accordion.

August 10, 2026: Developer setup in one place

  • Ara CLI is now Developers in the workspace navigation, with a compact setup page for downloading the CLI, connecting Ara MCP, and installing the shared Ara Agent Skill.
  • ara mcp handles both the MCP connection and the skill installation for detected supported coding clients. The page also provides target-specific commands and keeps API-key management below the setup guide.
  • Developers and the other workspace settings pages share the same compact title treatment and a content column capped at 750px.
  • Ara Devices now starts with the workspace’s managed sandbox and any connected Macs, followed by the direct Terminal setup for adding a Mac. Developers stays focused on CLI, MCP, skills, and API keys; the redundant “Copy Ara CLI setup” prompt actions are removed.

August 10, 2026: One customizable workspace sidebar

  • The main sidebar keeps Plugins and Automations at the top. More expands Memory, Repositories, and the workspace shortcuts, with Settings kept last, so the default list stays focused while every destination remains directly reachable. Hovering More opens the sidebar picker: checked destinations stay pinned above it, and the choice is remembered on that browser. Selected shortcuts use compact black checkbox markers, and the picker waits briefly on hover so clicking More or Less never competes with it.
  • Only the New chat row now stays pinned at the top of the sidebar. The rest of the navigation and the session list below it scroll together as one region, so a long or expanded session list no longer squeezes the navigation into its own separately scrolling box.
  • The Workspace shortcuts now match New chat in label size, row height, horizontal alignment, and the full-width hover or selected highlight. The two sections also meet without an extra gap, reading as one continuous list; expanding More uses the same quick unfold treatment as Ara’s selects.
  • The account row at the bottom of the sidebar now opens a compact menu instead of navigating immediately. It shows the signed-in email, then keeps Settings, the region-labeled Language picker, Community, plan upgrades, the changelog, and log out together. Settings opens the account page and reveals the existing More section, while the active interface language stays checked.
  • Settings, Billing, Audit Log, and the other former Settings destinations now open in the main workspace without replacing the sidebar. The same workspace navigation, width, projects, and recent chats remain visible while moving between them.

August 10, 2026: Ara’s own mark shows in Models & Model router

  • The Models list and Model router in Models & credentials now show Ara’s logo next to Ara’s own models, matching the mark already shown on the Providers row above them. Both surfaces previously fell back to a blank dot for Ara specifically.
  • Hitting a run with no inference connected now opens Models & credentials instead of the upgrade checkout page, since that’s the section that can actually fix it (subscribe to Ara or connect a provider).

August 9, 2026: Dashboard’s Connect buttons skip the Plugins page

  • Connect on the Dashboard’s getting-started checklist now opens GitHub’s or Slack’s own authorization screen directly. It previously routed through the Plugins page first, adding an extra click before the actual connection step.

August 9, 2026: A heads-up before a restricted subscription sign-in

  • When a provider’s terms don’t allow using its subscription outside its own apps, connecting that subscription in Models & credentials now shows a brief notice with a link to the provider’s policy, so it’s an informed choice. Providers without such a restriction are unaffected.

August 9, 2026: Pooled subscriptions fail over when one runs out

  • When a workspace has connected more than one account of the same provider, a run now falls over to the next account if the active one hits its usage limit mid-request, instead of failing. It’s a transparent retry on the next pooled subscription before any output is produced; once a response has started streaming, that attempt is kept as-is.

August 9, 2026: Connecting a Git provider lands on the Plugins section

  • Opening Plugins from a workspace with no Git provider connected now opens the Plugins section, where the GitHub and GitLab rows live. It previously opened Installed whenever any built-in skill was enabled, which is the default for a new workspace, so the connect rows stayed collapsed.
  • Plugins accepts a ?section= link (installed, plugins, or skills) to open a specific section on arrival. The composer’s Connect Git provider link uses it.
  • Connect GitLab during setup now opens GitLab’s authorization page. It previously reported that it was opening and then did nothing.

August 9, 2026: No stray warning while a session continues a turn

  • Continuing a turn onto a new run no longer flashes a “no assistant text” warning in the transcript. The reply streams on the continuation run, so the turn it belongs to is no longer reported as silent.
  • Session messages always name Ara rather than an internal runtime identifier.
  • Copy session ID now copies the session id shown in the address bar for every session, including one that has continued onto later runs. It previously copied the most recent continuation run, which did not match the session URL.

August 9, 2026: Docs open the Ara Discord

  • The docs header and footer support link is now a Discord mark pointing at the Ara Discord instead of X DMs, matching the button at the bottom of the app sidebar.

August 9, 2026: Persistent cloud workspaces are available to every workspace

  • Eligible cloud sessions now reuse a private persistent workspace across runs in every organization, while each concurrent session keeps its own Git worktree, branch, development port, and processes.
  • A production canary outside the original early-access workspaces completed a dependency install, build, real framework-server lifecycle, push, and open pull request on the general-availability path.
  • Runtime telemetry now distinguishes local plan and control tools from physical Brain and Hands dispatches, preserves that classification across worker recovery, and avoids false tool-rejection signals.

August 9, 2026: A repository page of Secrets and Runbook

  • The Environment variables section on a repository is now called Secrets, matching the name used everywhere else Ara stores credentials. The editor, its import pill, and its messages all follow the same wording. Stored values are unchanged.
  • The repository page no longer repeats a Plugins section. Plugin connections are shared by the workspace and are managed in Skills & Plugins, so a repository now shows just Secrets and Runbook.

August 9, 2026: Ara is marked in the Providers card

  • The Models & credentials Providers card now places Ara’s own mark beside the included Ara inference row, matching the provider marks used for connected model providers.

August 9, 2026: Collaboration tools are available to every workspace

  • Presence, side chats, and bounded read-only subagents are now available in eligible cloud sessions across Ara workspaces.
  • Organization memory is available in Settings → Memory for every workspace. Teams can disable memory use or automatic generation whenever they choose.

August 9, 2026: Concurrent sessions get separate development ports

  • Each persistent cloud session now receives a product-assigned ARA_DEV_PORT. The assignment is protected by a shared lease and skips ports that are already listening, so parallel agents can run repository servers in one workspace without all choosing the same default port.
  • A finished session releases its lease only after the port is actually free. If a server is still listening, Ara retains the lease so a later session cannot collide with that process.
  • Bash already starts inside the session’s isolated Git worktree. Agent guidance now tells it to use that current directory rather than retrying commands with a guessed or redacted checkout path.
  • The linked worktree now checks out the session’s real ara/agent/... branch instead of an internal filesystem key, so push and pull-request creation use the same branch without a compensating second push.
  • Long-running Bash commands now keep the secure Hands connection alive with a protocol heartbeat. Repository builds and server checks can run past the preview edge’s idle window without disconnecting and retrying the command.

August 9, 2026: Side chats are full session tabs

  • Select New side chat from a session’s side-panel + menu to start a focused conversation alongside the parent. Each side chat has its own run, transcript, composer, tools, and planning workflow rather than acting as a restricted subagent.
  • Side chats inherit the parent session’s workspace, branch, pull-request lane, harness profile, and execution settings. Their tabs remain mounted while you move between conversations, so returning to one preserves its live context.
  • Parent and side-chat composers now share the same aligned footprint. A new side chat starts with a compact, fixed system notification instead of an expandable prompt bubble.

August 9, 2026: Bash-ready sessions no longer wait for a browser

  • Ara now opens the Hands REPL socket immediately and starts its headless browser only when a session first uses REPL. Normal replies and Bash-only work no longer pay the browser launch cost, while the first REPL call still receives the same isolated browser, context, page, and persistent session state.

August 9, 2026: Persistent cloud sessions can push their branches

  • Git credentials and commit identity now remain available to each isolated session process after its persistent workspace is prepared. Concurrent cloud sessions can commit, push their own branches, and open pull requests without writing credentials into the shared repository or global Git configuration.

August 9, 2026: Concurrent sessions keep their shared workspace alive

  • Finishing or failing one session no longer deletes a persistent cloud workspace that other sessions are still using. Each session stops only its own Hands processes; the shared workspace remains available to sibling sessions and their isolated Git worktrees.

August 9, 2026: “Cost by provider” no longer lumps most spend under “Other”

  • Usage & analytics → Usage by member attributed a large share of every member’s spend to a provider called Other, often the largest row on the breakdown. It was not a real provider: it was OpenAI and Anthropic usage that failed to resolve.
  • A run records its model as a bare name (gpt-5.6-sol, claude-opus-4) rather than a vendor-qualified id (openai/gpt-5.6-sol), and only the qualified form carried a vendor Ara could read. The same model could therefore appear as OpenAI on one row and Other on another.
  • Bare model names now resolve to the vendor they belong to, so each provider’s real dollar cost is shown. Other is now limited to usage with no model recorded at all.

August 9, 2026: Revert and Dream now move next to Open session

  • Revert and Dream now are now pill-shaped buttons next to Open session on a memory history entry, instead of living in the sidebar’s History list.
  • A changed file’s diff now uses the same corner rounding as a memory file’s own preview, instead of the accordion’s larger default rounding.

August 9, 2026: Faster first commands in persistent workspaces

  • Ara now starts the secure Hands relay while it prepares the repository instead of waiting for checkout to finish first. Bash and REPL become available sooner without changing the workspace or tool security model.
  • Session titles no longer compete with the first answer for the run’s inference lane, removing an avoidable retry from Ara-hosted models.
  • A first Bash or REPL call in a persistent workspace now waits for its already warming Hands connection instead of returning early and making the agent retry.

August 9, 2026: Memory’s sidebar is a single Settings/History/Files accordion

  • Settings, History, and Files are now one accordion in the Memory sidebar instead of three separate rows plus a full History panel. Only one section is open at a time, and Files is open by default.
  • Opening History lists past runs right there in the sidebar; picking one shows its diff in the main area, which is now full width.
  • The session list in the main sidebar (Projects, recent runs) now stays visible while on the Memory page, matching every other primary page.

August 9, 2026: Memory History skips empty runs and folds diffs into an accordion

  • Memory History no longer lists runs that produced nothing — a dreaming pass that had no new facts to promote, or a failed run, is skipped instead of cluttering the feed.
  • The separator lines under the panel heading and the selected entry’s title are gone.
  • A run’s changed files now expand and collapse as an accordion, matching the rest of the app, instead of separate bordered boxes.

August 9, 2026: Persistent workspaces provision and prepare repositories again

  • The persistent per-repository workspace could not be created at all: the identifier sent to the sandbox provider was built from the workspace and user identifiers verbatim, which exceeds the provider’s 64-character limit for every workspace. Every attempt failed immediately, before any work started.
  • The identifier is now the same short, stable digest already used to name the workspace, so provisioning succeeds.
  • Repository setup now keeps its internal per-session Git ref separate from the optional public API start ref. An empty start ref can no longer erase the fetched commit before Ara creates the session worktree.
  • Persistent sessions now offer Bash and REPL while Hands is still attaching. Calls wait behind the same bounded startup gate, so a short tool-required task no longer finishes by claiming the workspace is unavailable moments before it becomes ready.
  • The sandbox device now shuts Hands down before the session becomes terminal. Its completion can no longer be fenced by the finished session and turn an otherwise successful run into a forced persistent-workspace deletion.

August 9, 2026: The sidebar support button opens the Ara Discord

  • The button at the bottom of the sidebar is now a Discord icon and links straight to the Ara Discord instead of opening a menu with Feedback and @aradotso · X DMs.
  • Feedback is still available inside a session by typing /feedback in the composer.

August 9, 2026: Runtime notices are visible in the transcript

  • When a session’s workspace finishes starting mid-answer, Ara tells the agent so it can stop saying it has no way to run commands. That message was only ever sent to the agent, so the transcript showed a reply to something the reader could not see (“Noted — the workspace is up…”).
  • These runtime notices now appear as a collapsed System Notification row, the same one a finished subagent’s report uses. Expand it to read the exact text the agent received, or copy it.

August 9, 2026: Memory moves to the home screen, with a real History panel and Revert

  • Memory now lives on the home screen next to Skills & Plugins instead of under Settings, since it is a shared, organization-wide surface rather than per-workspace configuration.
  • Memory History is now its own full panel: a list of past extraction and dreaming runs on the left, and the selected run’s file-by-file diff on the right.
  • History entries can be reverted. Revert undoes that run’s recorded changes on top of the file’s current content, and records the undo as its own history entry.
  • The Memory icon changed from a lightbulb to a head-with-spark glyph.

August 9, 2026: Pool multiple provider subscriptions, and a smoother sign-in

  • Models & credentials now lets a workspace connect more than one account of the same provider. Connect a second subscription and it appears as its own row alongside the first; the account is identified from the credential itself, so re-connecting the same subscription updates it in place instead of adding a duplicate.
  • Subscription sign-in is scoped to a single supported provider for now. Other providers remain available by API key.
  • Connecting a subscription opens the provider’s sign-in page automatically, and the device code has a one-click copy button. The device-code flow completes on its own once you approve, with no callback URL to paste back.

August 9, 2026: Analytics no longer lists a model name as a provider

  • The cost by provider breakdown under Usage by member could show a model name (such as gpt-5.6-sol) as if it were its own provider. Usage that does not identify a provider now rolls up under Other, and named providers are unaffected.

August 9, 2026: One Ara control plane, with Hands only when connected

  • Ara’s Brain and external MCP clients now use the same scoped ara_* catalogue, the same /mcp/ara transport, and the same audited handlers. A run-bound token changes authorization, not the tool contract.
  • Before Hands connects, a session has its scoped Ara controls plus planning and delegation. When Hands is ready, exactly bash and repl appear; disconnecting Hands removes both. Legacy local_* relay operations remain internal and are never advertised.
  • Repository setup now lives in .ara/runbook.md, and repository secrets are identified by connected repository, provider, and name. The old customer-facing environment, recipe, image-build, and snapshot controls have been retired.

August 9, 2026: The Analytics time range applies to the whole page, and member usage breaks down by provider

  • The 30 days / 7 days / 24 hours control moved out of the Activity over time card and into the page header, next to the member/team selector. It now filters the whole page, so Usage by member changes with the selected window instead of always showing lifetime totals.
  • Each member row now also shows PRs shipped and agent minutes for that window, plus a cost by provider breakdown of their spend across Anthropic, OpenAI, Google, and the other models Ara routes to.

August 9, 2026: See usage broken down by member on the Analytics page

  • The Usage & Analytics settings page now has a scope selector (all members, a configured team, or one member) and a Usage by member section showing each member’s lifetime token usage and real dollar cost. Available to workspace owners and admins.
  • Copy across the app that referred to change requests now says pull requests, matching the term used everywhere else in Ara.

August 9, 2026: The sidebar’s hover preview stays open while other parts of the page scroll

  • The floating chat preview that opens when you hover a session row was wired to close on any scroll event anywhere on the page, including the session chat pane auto-scrolling while a run streams. With almost always something streaming somewhere, the preview would vanish out from under the pointer seconds after opening even though you never moved the mouse or touched the sidebar.
  • It now only closes on a scroll or resize that could actually move it: the window itself, or this sidebar’s own row list. Everything else is ignored.

August 9, 2026: Skills & Plugins opens every category up front

  • Opening Plugins used to expand only the first category (Git providers) and leave every other one - Communication platforms, Task management, Databases, Observability, and the rest - collapsed, even though they’re short, scannable grids with nothing to hide. They now all open by default.
  • Searching used to have the same problem: if your query matched entries in more than one category, only the first matching category expanded. Every category with a match now stays open at once.

August 9, 2026: A subagent’s transcript is its own conversation

  • Opening a subagent now shows its opening instruction. The child view was reusing the parent session’s first message, so every subagent appeared to have been asked whatever you asked the main agent.
  • A finished subagent’s report now appears inside that subagent’s own thread, where it is the answer, instead of the thread ending on its last tool call with nothing to read.
  • The header carries the same agent pill the chat does - lit mark, quieter label - and the session title beside it is the way back to the main thread, so the separate back arrow is gone.
  • The message box stays where it is while you read a subagent, but sending is declined with an explanation: only a subagent’s parent session can steer it.
  • Plan updates carry the same check mark as the plan itself rather than a generic tool icon.
  • The composer’s model selector already showed each provider’s logo inside its dropdown; the closed button (e.g. “Claude Fable 5”) only showed the model name. It now repeats the same provider mark on the button itself, so the active model reads with its provider at a glance without opening the menu.

August 9, 2026: The review composer follows you down the thread

  • The comment box in Overview now sticks to the bottom of the panel as the discussion scrolls beneath it, so replying never means scrolling to the end first. It also picks up the session input bar’s shape and surface, so the two places you type in Ara look like the same control.
  • The merge button is a pill, matching the other actions in the review header.
  • The checks indicator is a progress ring rather than a filled dot - the same meter the composer uses for the context window - so it fills in as checks finish reporting instead of only changing color.

August 9, 2026: Persistent workspaces (early access)

  • A new workspace model, enabled per organization, keeps one cloud machine per person and repository instead of building a fresh one for every session. It sleeps when idle and wakes in well under a second, so starting a new session on a repository you already use skips the clone and setup entirely. Each session still runs in its own isolated checkout inside that machine. Off by default while it is validated on a dedicated org.

August 9, 2026: The sidebar’s hover highlight stays where your pointer is

  • The sidebar session list refreshes its relative timestamps (“3 minutes ago”) every second, and that refresh could snap the row-hover highlight back to your open session if you rested on another row for more than about a second. The row itself and its preview still tracked the mouse correctly, but the highlight visibly jumped, making hover feel broken on a slow, deliberate pass down the list.
  • The highlight now stays under the pointer regardless of how often the list around it re-renders.

August 8, 2026: The agent can see which machines and repositories you have connected

  • A session can now ask what machines you have paired with Ara, and gets back each one’s name, operating system and hardware, whether it is reachable right now, which folders you granted it, and what that machine is able to do. This is how the agent learns it has a choice at all, rather than assuming there is only the workspace it happens to be running in.
  • It is read-only, and it changes nothing about where work happens: a session still runs entirely in its own workspace, and the agent still cannot reach another machine. Filesystem paths are never included, and only your own machines are ever listed.
  • A session can also now list the repositories connected to the workspace, which are the ones Ara can act on. Previously an agent could work in a repository without being able to check which others existed, so it had to guess at names it had only seen written down. It reads the workspace’s own connection list rather than asking GitHub, so it stays fast and costs no API quota.

August 8, 2026: A finished subagent’s report reads as a system notification

  • When a subagent finished, its report arrived on the transcript as a bare grey box in the browser’s default control styling, which read as a rendering fault rather than a message.
  • It now takes the shape of the message it sits beside: the same bubble and right-hand alignment as your own messages, captioned System Notification and marked with the subagent’s own pointer instead of your avatar, so it is clear a subagent wrote it and not you.
  • The full report is still one click away. Hovering the notification reveals a toggle that expands the raw text, and a copy button.

August 8, 2026: Merge Bot gets its own page

  • Merge Bot is a decision pipeline, not a prompt-shaped automation, and its page now says so: it opens with a four-step “How it decides” walkthrough (change opened, signals settle, risk report and gates, merge or hold), puts the merge policy front and center, and folds the assessment prompt behind a toggle instead of leading with it.
  • The repository list on the page grows with its content instead of scrolling inside a small box, which also fixes the page trapping the mouse wheel and refusing to scroll to the bottom.
  • The always-on safeguards (human vetoes, the contributor guard, fail-closed behavior) have their own section, separate from the configurable policy.

August 8, 2026: Configure Merge Bot’s policy from the automation page

  • The built-in Merge Bot page gains a Merge policy card: risk tolerance (zero to high), the required gates (passing checks, Ara verification, Ara-authored only, no blocking findings, human approval for protected paths), a maximum change size, branch cleanup, an editable protected-paths list, and the merge guidelines the risk assessment reads as trusted repository configuration.
  • The policy applies to every repository Merge Bot is enabled for. When repositories currently disagree on a value, the control shows a Mixed badge and the next change aligns them.
  • Members see the policy read-only; changing it stays owner/admin only, and the page now also explains what the bot does at run time.

August 8, 2026: Merge Bot’s risk assessment is back online

  • The merge-risk assessment runs again, now on Ara’s own inference lane with a short-lived, run-bound grant (the same mechanism that powers PR reviews). Since the earlier model retirement every audit had been forced to a conservative HIGH-risk hold; unattended merging works again for repositories that enabled it.
  • The assessment always uses Ara’s platform model, never a workspace’s own BYOK or subscription credentials, and every failure mode (no lane, denied grant, unparseable output) still fails closed to a hold with a visible failed execution in the Automations activity feed.

August 8, 2026: Merge Bot gains protected paths, a size limit, and branch cleanup

  • The migration gate is now a configurable protected-paths list (auto_merge_protected_paths, newline-separated globs, case-insensitive, rename sources included). Any change touching a matching path requires a standing human approval before an unattended merge. The default list keeps covering database migration directories, so existing behavior is unchanged.
  • A new size limit (auto_merge_max_changed_lines) holds any pull request whose total changed lines exceed it. 0, the default, disables the limit.
  • auto_merge_delete_branch deletes the source branch after an unattended merge. Fork branches and branches that other open pull requests target are never deleted. On GitLab the branch is removed atomically with the merge.
  • The changed-file list is now treated as merge-critical evidence: a failed read retries, and a provider-truncated list counts as touching protected paths instead of silently passing.
  • All three knobs are settable per repository via the admin CLI and the guardrails API today; workspace settings UI ships separately.

August 8, 2026: Merge Bot honors human vetoes and demands real CI evidence

  • A standing human “request changes” review now always holds the pull request, no matter what the risk assessment or the repository’s merge settings say. A later approval or a dismissed review lifts the hold.
  • Adding a do-not-merge label (also dnm, no-merge, dont-merge, hold-merge, or any do-not-merge/... scoped label, in any casing) vetoes unattended merging. Remove the label and push a new commit, or merge manually.
  • A repository with no CI checks at all no longer counts as “green”. Merge Bot waits up to 45 minutes for a first check to register, then holds with a clear reason. Repositories that genuinely run no CI can disable the green-CI requirement for the repo to keep unattended merges.
  • Immediately before merging, Merge Bot now re-reads the pull request and its reviews. A head that moved during the assessment aborts the merge (the new commit is assessed fresh), and a veto that arrived mid-assessment is honored.

August 9, 2026: Review is two surfaces, and the conversation is one of them

  • Review used to spread a change across four tabs. It now has two: Overview is the conversation - demos, description, and the discussion thread - and Code is the file diff together with the commits that produced it. Sections with nothing in them collapse instead of showing a placeholder.
  • The discussion composer is always open at the bottom of Overview, so leaving a comment no longer starts with finding a button. Reply on any comment aims the composer at that person, and the reply posts with that attribution.
  • Checks collapsed from a status card into a single dot beside the merge button. Hovering it lists every check, and each one can be copied or opened on GitHub.

August 8, 2026: Session headers lead with the session, not the repository

  • A session header used to read owner/repo / Session title. A session can span several repositories, or none at all, so leading with one repository described it inaccurately. The header now shows only the session title.
  • The same repository line is gone from the session preview opened from the sessions list. Repository context is still available on the session itself.

August 9, 2026: Sessions get their hands sooner

  • The machinery that lets the agent run commands used to be set up strictly after the workspace was cloned, adding a fixed delay to every session start. The half of it that does not need the repository (installing and enrolling the in-machine worker) now runs while the clone is still in progress, so the agent’s first command is available seconds earlier on every cold session.

August 9, 2026: Concurrent canary sessions keep their workspace work isolated

  • Persistent-workspace canaries now assign every session its own worktree, public pull-request branch, and development port even when several sessions share one machine. A session releases only the port and processes it owns.
  • Long quiet commands keep their command channel alive, so a build or server probe running past a network idle window does not reconnect halfway through.
  • Bash calls also tolerate bounded wrapper hints produced by supported models; execution limits remain product-owned, while unknown fields still fail closed.

August 8, 2026: A session picks its tools up the moment its workspace is ready

  • An agent that started before its workspace was ready did not get the ability to run commands back until its next message, even though the workspace often arrived seconds into the first one. For the rest of that answer it had no way to run anything, so it reported the task as impossible instead of doing it. The workspace’s tools now reach the answer already in progress.
  • The agent is also told, in the moment, that its workspace is ready, so it stops working from an earlier conclusion that it had no way to run commands.

August 8, 2026: Session machines sleep the moment your run ends

  • A session’s cloud machine now suspends as soon as its run finishes, instead of being held awake by background helpers (the preview supervisor, the terminal bridge, the recording and browser processes). Only the run’s own worker keeps the machine active, and it is bounded by the run’s time budget, so a machine can no longer stay hot after the work is done.
  • Nothing you see changes: previews, the terminal, and the file browser wake the machine transparently on the next request (well under a second), and long-lived helpers survive the sleep and resume where they left off.
  • Follow-up: the process that carries a live run’s commands now also counts as “the run is active”, so a machine can never doze off in the middle of a long model turn; it still sleeps the moment the run actually ends.
  • The platform now audits the whole machine fleet every few minutes and flags any machine that is awake with no session using it, so a machine that fails to fall asleep is caught by monitoring instead of by a bill.

August 8, 2026: The model picker keeps up with the pointer

  • Moving between providers in the model picker used to leave the previous provider’s models on screen for a moment before the new ones appeared. The options panel now swaps as soon as you move, so the list always matches the provider you are pointing at.
  • The provider list scrolls under the Settings link rather than pushing it off the panel, so the route to Models & credentials stays in place however many providers a workspace connects.

August 8, 2026: A roomier model picker, and a branch that stays under the composer

  • The model picker is wider, drops the rule under its search field, shows each model’s provider logo beside the model name (not just on the provider row), and ends with a Settings link for connecting more providers.
  • The branch under the composer no longer hangs past the left edge of the input on a long branch name. It now truncates instead, so the device and context ring stay put.

August 8, 2026: Branch and device act like the controls they are, and providers show their logos

  • Under the composer, the branch and the execution target now read as pills with the same hover and focus treatment as the model and thinking selects beside them, instead of looking like plain text. Clicking the branch still copies it; clicking the execution target still moves the session to another workspace.
  • The model picker’s provider list now shows each provider’s logo in front of its name, the same marks the Providers settings card uses.

August 8, 2026: See when a session’s model, provider, or thinking level changes

  • Changing the model partway through a session used to be invisible: later turns looked identical to earlier ones even though they ran on different settings. The transcript now marks the switch inline, between the turns it separates, with a note such as Model changed from GPT-5.6 Sol to GPT-5.6 Terra. The same note appears when the provider changes or when the thinking level changes, so it is clear which settings produced which answer when you look back at a session. This holds for a switch made between turns, which starts a new run behind the scenes: the note still appears above the first turn that used the new setting. Model names in the note match the model picker exactly, so a switch to GPT-5.5 reads as GPT-5.5 rather than splitting the version off the family name.

August 8, 2026: The agent says something before it starts working

  • On a new session the agent now answers you first and picks up its tools on the next step, instead of running a planning step before it has said anything. That planning step was costing about seven seconds of silence on a typical first message, and nothing was on screen until it finished.
  • Sessions whose workspace is already warm are unaffected: the agent has its full toolset from the first message, as before.

August 8, 2026: The branch and execution target are visible again under the composer

  • The row beneath the message box lists the session’s branch, where it runs (Cloud or a connected device) and how much of the context window is spent. The branch and execution target were being painted over by the composer’s own backdrop, leaving that part of the row blank. They now render again.

August 8, 2026: A session no longer claims it cannot do something while its workspace is still starting

  • A workspace takes several seconds to come up, and a command run in that window did not execute. The agent now retries once the workspace lands instead of reporting the capability as unavailable, so a question like “what time is it in India” gets a real answer rather than an apology.

August 8, 2026: Subagents wait for their workspace before answering

  • A subagent could finish before its workspace finished starting and report that it had no way to run commands. Subagents now start with their full tool set and wait for the workspace instead of answering without it.

August 8, 2026: Subagents start correctly in enabled workspaces

  • Delegating to subagents failed immediately in every workspace where it was turned on. The lookup that enforces how many subagents may run at once was querying a table that does not exist, so the request errored before any subagent started. Delegation now works, and the same fix covers cancelling a parent’s subagents when the parent stops.

August 8, 2026: See what a compacted session’s follow-ups will inherit

  • When a finished session has been compacted, the session’s ··· menu now shows a Context summary section with the summary your next follow-up will start from (plus a short tail of the most recent turn), and when it was generated. Long summaries are collapsed by default with a Show full summary toggle.

August 8, 2026: Skills & Plugins now stays compact while you browse

  • Skills & Plugins puts connected tools in an open Installed section before the plugin catalog, then groups every remaining plugin category into the same spring-open sections used across Ara settings. Open the group you need and the previous one folds away; the scope choice and search continue to apply. Plugin rows keep their generous click target, but hover now stays on their controls and icon instead of tinting the entire row. The two-option scope choice uses the same segmented control as Automations.
  • Skills remain their own sibling catalog section, without the old collection cards or visual divider system.
  • Added skills now sit with connected plugins in the open Installed section, using the same compact icon grid and name-on-hover treatment. The old skills.sh collection browser has been removed; searching now shows public skill results directly in the same responsive two-column rows as plugins.
  • The Installed skills strip stays to one compact row; its +N tile expands the remaining skill icons inline.
  • While searching Skills & Plugins, every top-level section with a match opens together; sections without a match stay folded.
  • The page now uses the same high workspace header as Automations: compact search and activity controls live beside the scope and type pills, and repository-authored skills appear in the workspace catalog instead of behind a repository filter. Skills & Plugins activity records actual skill reads and connected plugin tool calls, linking back to the session without showing tool arguments or results.
  • Two-option choices on Automations and Skills & Plugins now use the rounded-square segmented control.
  • Opening a skill now uses Ara’s normal session-style Files sidepanel: the selected SKILL.md is a closable file tab instead of a separate properties view. Curated MCP setup pages now use the same spring-open sections for connection, credentials, endpoint, and skills; connection actions use the shared status badge, switch, and pill buttons.
  • Organization-authored skills now carry the workspace avatar (or its initial fallback) in the Skills grid. Ara-provided skills carry a small neutral Ara source mark. Their SKILL.md file panel includes copy-reference, copy-path, and direct Pierre editing actions while the normal view remains rendered Markdown.
  • Organization memory files now use that same rendered Markdown viewer and direct editor instead of a separate raw-text textarea.

August 8, 2026: Images and videos the agent touches now appear in chat automatically

  • When a command the agent runs saves or references an image or video in its workspace, that file now appears inline in the session chat automatically, the same way a file you attach yourself renders. There is nothing to ask for: a screenshot taken, a chart generated, a diagram written to disk all surface the moment the agent’s command output points at them.
  • This is a repair, not a new feature: it restores behavior that was live before the runtime change in early August and had gone quiet since.

August 8, 2026: The agent replies first when its sandbox is still starting

  • While a repository is still being cloned, the agent is no longer offered the commands it cannot yet run. It answers you with what it knows, and the commands become available the moment the sandbox is ready. Previously it reached for a command, was told the sandbox was still starting, and tried again, so nothing appeared on screen until the setup had finished.
  • Sessions whose sandbox is already warm, including most follow-up messages, are unchanged: the commands are there from the first message as before.

August 8, 2026: Cleaner results from self-verifying sessions

  • Sessions that run the experimental self-verification loop no longer show the loop’s internal completion marker at the end of the final answer or the session summary. The marker is coordination between the agent and its verifier, not part of the result.
  • No change for ordinary sessions.

August 8, 2026: Ephemeral preview environments can run full agent sessions

  • A cloned preview deployment of the platform (an environment named preview-*) now routes model-inference grant redemption to its own API origin instead of the shared production endpoint, so agent chats in a preview environment complete end to end against that environment’s own isolated database. Production and staging routing are unchanged, and a preview origin is only ever the deployment’s own platform-provided domain.

August 8, 2026: The queue only appears when messages are actually stacking

  • A message sent while the agent is working now goes straight to the agent when nothing else is waiting, and appears in the conversation like any other message. The queue was holding every mid-run message, so a single reply sat above the message box with Steer and remove controls around it, waiting for a step to finish, before dropping into the chat seconds later.
  • The queue still does its job the moment it has one: send a second message while the first is still on its way and it waits, in order, one per finished step. Steer still jumps a waiting message to the front, and removing one before the agent reaches it still takes it out entirely.
  • Releasing, cancelling, or reordering a queued message now updates every open view of the session immediately. Those changes were previously only recorded, so a browser could keep showing a message as queued after it had already gone to the agent.

August 8, 2026: The sidebar follows the page you opened

  • Opening a saved session keeps that session selected in the sidebar. Moving back to New Task or to a top-level page such as Repositories or Automations transfers the shared highlight to that destination instead.
  • The previous resting highlight can no longer remain on New Task after you open a session, so the sidebar now always reflects the page currently open.

August 8, 2026: /compact always works, including on finished sessions

  • Compacting a session no longer requires a live run. On a finished session, /compact now summarizes the whole conversation in the background, and your next follow-up starts from that summary instead of only the tail of the last turn. Triggering it again when nothing new has happened answers “already compact” instead of showing a red error card.
  • The toast reports what actually happened - requested for the next model step, queued for a run that has not started, running in the background, already compact, or out of credit - instead of announcing “Context compacted” before anything had run.
  • A compaction request made while a run was starting up used to be silently dropped after the toast said it was accepted; it now applies at the run’s first opportunity, and a request that arrives just as a run finishes says so in the transcript instead of vanishing.
  • The transcript now shows a “Context compaction” row while a summary is being generated and when it completes.
  • On workspaces that bring their own model keys, Ara never starts model calls on your credentials: /compact on a finished session answers “already compact” there, and follow-ups still start from a compact summary of the prior turn.

August 8, 2026: Compact context from the composer’s slash menu

  • The session composer’s / menu now lists Compact context as a dedicated entry beside your skills. Picking it summarizes the older part of the conversation to free up context, exactly like typing /compact, and the entry only appears while the session has a live run that can be compacted.

August 8, 2026: Sessions can move between a cloud workspace and your Mac again

  • The “Continue on” picker in a session works again. Choosing a new location used to fail with a raw harness1_target_handoff_required error for every session; picking a fresh cloud workspace or one of your paired devices now continues the session there. The moved session keeps its conversation context, model settings, and pull request, starts from the session’s branch, and the picker’s promise holds: a cloud move lands in a genuinely fresh sandbox, never a reused one. Only pushed work travels; the original session is stopped once the new one is safely queued.

August 8, 2026: Workspace controls now follow one interaction system

  • Settings, Automations, Templates, analytics, the command palette, Ara API, and Review now use the same compact animated controls: two-option mode choices use a segmented squircle; peer views and filters use a pill tab group with one moving active surface. The Review’s Overview, Discussion, and Commits group sits in the Review header, above the divider that separates it from the checks and changed files.
  • Settings and automation lists share one resting hover/selection surface across grouped rows. Repository and automation configuration now use the same spring-open sections, while non-expandable groups use the matching quiet rounded surface rather than a one-off card treatment.
  • Choosing a model and thinking level when starting a task is now two explicit controls below the message box. Trigger selection follows the same nested source-to-event menu pattern, so dependent options appear beside the choice that revealed them.
  • The model control now picks a provider first and then its available model, so connected providers can grow without turning the composer into one flat mixed list. Opening it starts with the provider categories; the model panel unfolds only after you choose or focus a provider. If a saved provider model becomes unavailable, it stays visibly named as the current selection until you choose a replacement rather than being represented as a different Ara model. In an existing session, its branch and where it is running remain visible on the left below the composer while the model controls stay on the right.
  • Opening a repository or an automation now uses the same compact navigator as a session: its source, a /, and the item title sit in the top rail. The existing edit, run, save, and more actions remain exactly where they were.
  • The redundant session-summary icon has been removed from the session rail; the session menu and panel control remain available there.
  • The composer summary pill now groups plan progress, changed files, and active subagents in one row, with | dividers and an independent action for each segment. Its active-agent segment opens the full subagent list rather than choosing one worker arbitrarily.

August 8, 2026: The agent can ask for a missing plugin or secret right in the chat

  • When the agent hits a service it cannot reach (an unconnected plugin, or a missing API key), it can now surface an inline card in the session chat: Connect adds a plugin with one-click OAuth, and Add secret takes the value without it ever appearing in the conversation. This restores a capability that had been dark since the runtime cutover in early August.
  • The cards never block the run. The agent keeps working on what it can, a saved secret is injected into the live sandbox for the agent’s next turn, and a newly connected plugin takes effect on the next session.
  • A secret the agent asks for also appears immediately as a to-fill row in the repository’s Environment tab, so you can add it from there instead if you prefer.

August 8, 2026: Bring your own model server as a provider

  • Settings -> Models gains a Custom endpoint provider: point it at any OpenAI-compatible server you host yourself (vLLM, SGLang, Ollama behind a proxy, a LiteLLM gateway) with a base URL and an API key, and its models appear in the session composer’s model picker alongside the other providers you have connected.
  • On connect, Ara asks the server for its model list automatically; if your server does not expose one, list the model IDs yourself in the form. The wire format defaults to OpenAI Chat Completions, with OpenAI Responses and Anthropic Messages available for servers that speak those instead.
  • Runs on these models call your server directly and are billed by nobody: like other connected providers, usage happens on your own infrastructure and never spends Ara credits. The base URL must be a public https address; keys are stored encrypted and are never shown back.

August 8, 2026: Queued messages start their turn the moment the agent answers

  • A queued message now begins its turn immediately when the agent finishes the previous one, in the same live session. Before, the message released from the queue could miss the closing run and restart the agent from scratch, which showed up as the message sitting in the queue for several seconds before it entered the chat.
  • The session now also waits for a message that is mid-delivery before wrapping up, so a reply sent in the instant the agent finishes is picked up live instead of restarting it.

August 8, 2026: Mid-run messages queue up and go in one per finished step

  • Sending a message while the agent is working now adds it to a queue instead of interrupting the current step. The agent finishes what it is doing, and Ara hands it exactly one queued message each time it settles a step, so a burst of thoughts arrives as a sequence of clean instructions rather than all at once mid-task. Previously every mid-run message was injected at the next turn boundary regardless of what else was waiting.
  • The queue sits above the message box, and each entry can be reordered by dragging, edited (which returns it to the message box), or removed before the agent ever sees it.
  • Steer on a queued message is the override: it skips the queue and goes into the agent’s very next turn boundary, the way every mid-run message behaved before.
  • The queue now lives with the session rather than in your browser, so queued messages survive a reload, are visible to everyone watching the session, and are never lost if you close the tab. If the run finishes while messages are still queued, they start a continuation run instead of being dropped.

August 8, 2026: More credential types are masked in what an agent writes out

  • Pull request titles, issue titles, and issue comments written by an agent are checked for the run’s own secret values before they leave for GitHub or GitLab. That check now also covers connector credentials and workspace MCP server secrets, not just the secrets you set under Secrets and Environment.
  • Redaction is also more resilient: if one source cannot be read, the others are still masked, where previously a single failure fell back to pattern matching alone.

August 8, 2026: Agents answer without waiting for their sandbox

  • An agent now replies as soon as it has something to say, whether or not its sandbox has finished starting. Previously, if the agent reached for a command before the sandbox was ready, the whole reply waited behind repository cloning and toolchain setup, so a question that needed no commands at all could sit silent for a minute.
  • If the agent does run a command before the sandbox exists, it now waits a couple of seconds and is then told the sandbox is still starting, rather than blocking indefinitely. Nothing is executed and nothing changes on disk, so the agent answers with what it knows and picks the command back up once the sandbox is there.

August 8, 2026: The same secret name can differ per workspace

  • If you belong to several workspaces you can now save a secret under the same name in each one, holding a different value per workspace. Until now the name had to be unique across your whole account, which was the last piece of making personal secrets workspace-scoped.
  • Nothing changes for a single workspace, and no existing secret is affected.
  • Images and recordings attached to a pull request by an agent are now checked in full before Ara serves them, and Ara serves the checked bytes rather than redirecting to the stored file. Previously only the first few bytes were inspected, which was not enough to tell a real screenshot from another kind of file wearing an image header.
  • Comment and metadata segments are removed from what gets served. Those sections exist to hold arbitrary text, so a picture can look perfectly valid and still carry something in them. Real captures are unaffected apart from the encoder’s own padding.
  • Anything that does not parse as a complete image or video is not served at all. A capture that failed to upload cleanly now returns not-found instead of a broken file.

August 8, 2026: Credit held for a model request that failed is always given back

  • When a model request failed before the provider reported anything about it, the credit reserved for that request could stay held indefinitely: the workspace’s available credit was lower than its balance implied, and nothing was ever charged for the failed request. Those holds are now released within minutes of the failure, and a failed request that can never be priced is never billed. The holds that had already been stranded before this change have been returned as well.

August 8, 2026: Your personal secrets belong to one workspace

  • A secret you save under Secrets is now scoped to the workspace you saved it in. Previously a personal secret was attached to your account, so if you belonged to more than one workspace it was injected into every run you started in any of them.
  • If you work in a single workspace nothing changes: the same secrets, in the same place, behaving the same way.
  • If you belong to several workspaces, each one now keeps its own set. You can hold a different value under the same name per workspace, and adding or removing one no longer affects the others. Existing secrets were moved to their owner’s workspace, so nothing was lost.
  • Every other kind of secret in Ara (project secrets, connectors, MCP servers, API keys) was already scoped this way; personal secrets were the exception.

August 7, 2026: The command palette opens instantly, and dragging stays smooth

  • Opening the command palette with Cmd/Ctrl+K no longer plays an entrance animation. The palette is there on the next frame, so typing immediately can never race the surface sliding in; only the backdrop still fades so the page behind it does not hard-cut.
  • Swiping the mobile sidebar open, and sweeping the pointer down a list of sessions, automations, repositories, or settings entries, now stay smooth under load. Both used to move their highlight and their drawer by changing layout on every frame of the gesture.
  • On touch devices, cards and buttons that lift when a mouse hovers no longer stay stuck in the lifted state after a tap. Their color, border, and shadow feedback is unchanged, on touch and with a mouse alike.
  • The pointer and highlight the agent draws while it works in a browser no longer force the page it is working in to relayout as they move between elements.

August 7, 2026: Scheduled automation runs start again

  • A run started by a schedule failed a couple of seconds after it began, without doing any work, and its history showed a billing error even though the workspace had credit and minutes available. Only scheduled runs were affected; runs you started yourself, and runs triggered from GitHub, were not. Scheduled runs now start normally, and no billed minutes were consumed by the failed attempts.

August 7, 2026: /compact now compacts short conversations, and says so when there is nothing to compact

  • Typing /compact in a session summarized earlier history only once the conversation had grown past the automatic keep-recent budget; below that it silently did nothing. A manual request now summarizes the older half of the conversation and keeps the recent half, so it does visible work at any length.
  • When a request genuinely has nothing to fold, or the summary could not be produced, the session says so in the transcript instead of leaving you guessing.

August 7, 2026: Secrets are masked in run error messages, and API-key expiry fails loudly

  • When a run fails, the error shown on the session, sent in notifications, and carried into the next turn is now redacted before it is stored. A failed git clone used to be able to surface the credentialed URL Ara clones with; that value is masked now. Ordinary failures are unchanged and stay fully readable.
  • Redaction also recognizes Ara’s own credential formats (Ara API keys, per-run agent tokens) and GitHub fine-grained and GitLab tokens, so those are masked anywhere Ara shows agent output.
  • Creating an API key with an unsupported expiry now returns a clear error instead of quietly creating a key that never expires. The supported values are unchanged — never, 30 days, 90 days, and 1 year — so the picker in Settings behaves exactly as before; this only affects scripted calls that passed some other number.

August 7, 2026: Follow-up messages start much faster

  • Replying to a session no longer rebuilds the workspace from scratch. When the previous turn’s sandbox is still warm, the follow-up reattaches to it and reuses the repository that is already checked out, instead of provisioning a new machine and re-cloning. On a large repository that removes the great majority of the wait before the agent starts working, and the saving grows with repository size.
  • A follow-up only reuses a workspace belonging to the same repository, and only after confirming the checkout is intact. Anything else falls back to the ordinary fresh setup, which behaves exactly as before.
  • The speed-up holds for the whole conversation, not just the first reply. A warm workspace is now held from the most recent turn that used it, so a long back-and-forth keeps reusing it instead of losing it partway through and rebuilding.
  • Separately, an internal network self-check that ran before every session now runs alongside the setup work instead of ahead of it, removing a few seconds of waiting from every session start, including the first one.

August 7, 2026: Opening a session puts the caret in the message box

  • Opening a session now focuses its message box immediately, so you can start typing your next instruction without clicking into it first. The sessions list already behaved this way; the session page now matches. Session previews and embedded thumbnails still leave focus where it is.

August 7, 2026: Fixing a failed payment is now one click, from the email or the banner

  • The “Update payment method” link in a failed-payment email, and the same action in the paused-workspace banner, now open Stripe’s payment-method flow directly instead of leaving you on the billing settings page to find it. If the workspace is signed out, you sign in first and then land in the same flow.
  • Re-buying the package a workspace already sits on no longer reports a portal error before it succeeds. The purchase behaved correctly either way; only the reporting was wrong.
  • Trial card verification no longer fails on a card whose bank asks for extra confirmation. Verification could not complete for those cards at all, and the trial now proceeds as it does whenever verification cannot reach a verdict.

August 7, 2026: Motion polish across lists, tabs, settings, and async buttons

  • Hovering a list now moves one shared highlight that glides between rows instead of each row lighting up on its own. This applies to the session list in the sidebar, the built-in and custom automation lists, the repository list under Codebase, the settings navigation, and every dropdown/picker menu built on the shared select.
  • Tab strips (execution history, codebase sections, dashboard activity, the Ara CLI setup targets) animate one indicator between tabs rather than switching instantly.
  • Async actions give live feedback: Connect/Save on MCP server setup, Create automation, and the billing spend-limit Save now show a spinner while working and morph back when done, instead of appearing to do nothing.
  • The team spend-limit dialog on Billing smoothly resizes between limit types instead of jumping.
  • Audit Log groups each month into a rounded, spring-animated collapsible section; the newest month starts open.
  • Personal Preferences now groups collapsed sections into quiet rounded surfaces; opening one setting separates it with the same spring motion, without changing any existing controls.
  • Counters (execution history stats), status badges, checkboxes (API key scopes), and toggles (MCP enable, memory enable) animate their state changes. All motion respects the reduced-motion system preference.

August 7, 2026: Ara subscription inference now runs on a single provider gateway

  • Every model in your Ara subscription is now served through one inference gateway instead of two. The selectable models, their context and output limits, your published per-model prices, and workspace credit behavior are unchanged.
  • Your charge is still computed from Ara’s published price for the model you picked, independently of what the gateway costs Ara. A request that cannot produce authoritative evidence of what it served holds its exposure and reconciles rather than creating a guessed charge.
  • A request stays bound to one route and one price for its whole lifetime, and models are withdrawn or restored one at a time, so an operational change never affects a generation already in flight.
  • This lane covers subscription usage only; supplying your own provider API keys is not part of it.

August 7, 2026: Tool activity shows the real command that ran, and memory search results are now clickable

  • A repl or bash tool call’s activity row now always shows the real, verbatim command or code that ran, as its own line — immediately once the call starts, not only once it finishes. Previously, some calls (particularly file search and Ara capability calls like memory or skills) either paraphrased this into a generic label or, for a narrow but real class of calls, showed the raw JSON payload the tool actually received instead of the code itself.
  • That command line now reads at full text strength, while its result stays at the activity pane’s normal muted tone — the same contrast a terminal keeps between a live command and dimmed scrollback.
  • A completed call’s Success or Failed badge now shows next to the pane’s header for every kind that has one, not only shell commands.
  • ara.memory.search results render as a real list of matches (title and snippet) instead of raw JSON, and each match links directly to that file on the organization’s Memory settings page.

August 7, 2026: The provider list is now visible on Model settings

  • Model settings now shows the providers Ara’s agent runtime can authenticate, under Ara’s own row. Providers are grouped by whether you would connect them with an existing subscription or with an API key.
  • Connecting your own provider is still not available, so the entries are shown but not selectable and the reason is stated inline. No credential is requested or stored, and nothing about billing or model selection changes.

August 7, 2026: A session no longer fails because its own title was being generated

  • A new session names itself with a short model call while the environment starts. That call shared the session’s single model channel with the agent’s first reply, so the two could collide and the whole session failed immediately with a message about a reached AI usage budget — even on workspaces with their full budget available.
  • The naming call now yields the channel on a deadline, and a first reply that arrives during naming waits its turn instead of failing.
  • If a collision ever does surface, the session now says the model channel was briefly busy and to retry, instead of pointing at a budget that was never involved.

August 7, 2026: Short model answers no longer fail on the second inference route

  • A request with a small output budget, such as the one that names a new session, asked for reasoning it could never fit and failed outright on the newly staged route. Those requests now run without extended thinking instead of failing, so session titles and other short answers come back as expected.

August 7, 2026: Model settings show which providers Ara’s runtime can talk to

  • The Providers card under Model settings now lists the providers Ara’s agent runtime can authenticate, grouped by whether you would connect them with an existing subscription or with an API key. The list comes from the runtime itself, so it stays accurate as the runtime adds providers.
  • Ara stays first in that list and is included with your workspace, exactly as before. Nothing about how your sessions are billed or which models you can pick has changed.
  • Connecting your own provider is not available yet. The list is there so you can see what is coming; no credential is requested or stored.

August 7, 2026: Memory, skill, and plugin activity icons now cover the raw tool-call path too

  • A memory, skill, or plugin call now shows its dedicated icon in session activity even when the model reaches it through the generic tool-call bridge (ara_memory_manage, ara_skill_manage, ara_plugin_call, ara_plugin_tools, ara_plugin_list) instead of the shortcut method. Previously only the shortcut form got the specific icon; the raw form fell back to a generic badge.

August 7, 2026: MCP servers and merge guardrails are owner/admin settings

  • Installing, editing, connecting, or removing a workspace MCP server now requires the owner or admin role. An MCP server is workspace-wide execution config: it runs inside every agent run in the workspace, including runs other people start. Members still see the installed list and the marketplace, and the controls now say so instead of failing when used.
  • Changing a repository’s Merge Bot guardrails — enabling auto-merge and its “CI green”, “Ara verify”, and “no blocking findings” requirements — likewise requires owner or admin. These decide whether agent-authored pull requests can reach your default branch unreviewed.
  • Both settings were already owner/admin-only through the public API; the web app now matches. Nothing changes for owners and admins.

August 7, 2026: Sessions are named by the agent, and session actions moved onto the title

  • A new session is now named by a short call to the same harness that runs it, so the title describes what you asked for instead of repeating the first line of your message. Naming happens while the environment is still starting, so it never delays the first reply, and an unusable answer falls back to the previous behavior. Renaming a session yourself always wins, and follow-up turns never re-name a session you already named.
  • The session header now leads with that title, and the ⋯ menu sits beside it rather than off in the top-right controls.
  • That menu gains Send feedback, Copy session ID, Archive, and Delete alongside Rename, and still shows the session’s model usage and runtime. Delete asks for confirmation and cannot be undone.
  • Workspaces that paused title generation under Automations are unaffected: their sessions keep the name derived from your message.

August 7, 2026: A second inference route can be staged behind the same spend controls

  • Ara’s inference plane can now hold more than one aggregation route per model. A route is staged disabled, enabled per model by an operator, and disabled again to roll back; the enabled route keeps serving in the meantime. Model choice, pricing, and workspace credit behavior are unchanged.
  • A request is bound to one route for its whole lifetime, so a route change never affects a generation already in flight.
  • Whichever route serves a request, the customer charge is still computed from Ara’s published model price. A route that cannot produce authoritative evidence of what it served holds its exposure and reconciles instead of creating a guessed charge.

August 7, 2026: Replies are plain prose, and quoted or tabular text is never rendered faded

  • Ara’s replies no longer use markdown tables or emoji. Content that used to land in a table now reads as plain prose with inline references and hyperlinks instead.
  • Text inside a blockquote or a markdown table (for older messages, or content a connected tool returns) no longer renders in a dimmed secondary color — it matches the same text color as the rest of the answer.

August 7, 2026: Reasoning reads at full strength and can show its own headline

  • Reasoning text in the live work history no longer renders at a dimmed, secondary text color once expanded — it now matches the full-strength text tool rows already use when opened, and its left indent (which did not align with any icon) is removed.
  • When a model’s reasoning arrives as a short headline followed by a detailed paragraph, Ara now shows that headline as the row’s label instead of the generic word “Thinking”. Reasoning that has no distinct headline keeps the previous “Thinking” label.

August 7, 2026: Organization memory adds AGENTS.md and SOUL.md, and session activity shows real icons for memory, skill, and plugin calls

  • Organization memory’s always-loaded L1 briefings now include AGENTS.md and SOUL.md alongside USER.md and MEMORY.md for hard operating rules and persona/tone.
  • Session chat activity rows for ara.memory.*, ara.skills.*, and ara.plugins.* calls now show a dedicated icon per capability instead of a generic tool glyph: a memory mark for memory calls, the same skill mark used in the / composer menu for skill calls, and the connected plugin’s own favicon for plugin calls (falling back to a generic plug mark for unrecognized plugins).

August 7, 2026: Follow-up messages always get picked up

  • Replying to a session whose previous turn had already finished could leave the new message waiting forever, showing a spinner that never resolved. The queue entry those replies create was routed to a retired runtime lane with nothing left to pick it up. That lane is removed, and follow-ups are now claimed by the ordinary session worker like any other work.
  • Queue ordering, per-workspace concurrency limits, and change-request serialization are unchanged. Starting a brand new session was never affected.

August 6, 2026: Security hardening for IP allowlists, label triggers, and webhooks

  • An organization’s IP allowlist now applies to the web application, not only the public API. Previously a workspace that restricted access to specific IPs was still reachable from any address through the web app; the same allowlist is now enforced on both surfaces.
  • Starting an agent run by applying a trigger label to an issue now requires the person who applied the label to have write access to the repository, matching the existing rule for “@ara” mention requests. Someone who can only apply labels (for example a triage role or an outside collaborator) can no longer kick off a run.
  • Repeated (replayed) GitHub and Linear webhook deliveries are now detected and ignored, so a captured delivery cannot be replayed to trigger duplicate work.

August 6, 2026: The unified capability plane is the only MCP surface for sessions

  • The legacy connector gateway route is retired after a week of zero usage. Sessions reach Ara capabilities and connected plugins through the single unified endpoint, and the temporary migration shim is removed rather than left dormant.
  • No connected integration changes; existing connections keep working through the unified plane.

August 6, 2026: Complete skill bundles, not just SKILL.md

  • On-demand skill fetches now include the whole bundle: companion references, scripts, and assets beside SKILL.md travel with it, each with its own digest and a bundle-level digest over the set. Bundles with unsafe paths, symlinks, or excess files or bytes are refused rather than served partially.

August 6, 2026: Read-only review runs can call provably read-only plugin tools

  • A review run no longer needs write-capable plugin authority for a tool that is provably safe: a call proceeds only when the provider’s own negotiated tool annotations mark it read-only AND the tool is named in Ara’s curated per-plugin allowlist. Anything unannotated, destructive-marked, or unlisted still requires write authority, and every decision is recorded in telemetry.
  • Provider annotations alone never grant access: they are untrusted data until Ara’s own policy agrees.

August 6, 2026: Skill adherence is judged, not assumed

  • A run that was offered a skill is now evaluated on whether the agent actually read the skill before doing other tool work. Only a dedicated read operation counts — mentioning the path does not. Delivery, read, and behavior are separate evidence: the run log records which skill files reached the sandbox, which bodies were fetched, and a deterministic oracle judges the ordering on the real trajectory.
  • This is verification tooling. Session behavior is unchanged.

August 6, 2026: Package-bundled skills are readable on demand

  • Plugin skills whose bodies ship inside the sandbox image are no longer read-only names in the catalog: when a skill carries a pinned package source, Ara fetches its full instructions on demand through the capability plane, with the same host allowlist and size guards used at image-build time. The response reports where the body came from and whether it was served from the short-lived read cache.
  • A skill with no resolvable source still says so plainly instead of pretending to be readable, and a failed fetch returns a typed error rather than a fabricated body.

August 6, 2026: The agent runtime gains a zero-cost end-to-end proof lane

  • Ara’s agent runtime can now be exercised end to end, from run claim through sandbox tool execution to the final transcript, against a deterministic scripted model instead of live inference. Deploys of the runtime are verifiable without spending model credits and without depending on provider availability.
  • The runtime’s sandbox tool layer (shell and browser REPL) is now also proven in continuous integration on every commit, using the exact production code paths rather than stand-ins.
  • This release adds test and operator tooling only. The proof lane is disabled by default, has no user-facing controls, and does not change how ordinary sessions run.
  • Follow-up: the internal session surface now accepts the proof lane’s sentinel model for explicitly allowlisted internal workspaces, so operators can start a proof run at all, and the sentinel survives enqueue-time model resolution instead of silently falling back to the workspace default. The public API and every ordinary workspace continue to reject it.

August 6, 2026: The Ara plugin now speaks the Agent Plugins standard

  • Ara’s self-authored plugin now ships a standard root plugin.json and mcp.json in the vendor-neutral Agent Plugins 1.0.0 layout, so any compatible agent client can discover its skill and connect to Ara’s capability plane over Streamable HTTP. Existing supported client installations continue to work through their native manifest.
  • A conformance test now validates the package against the published schemas on every change, so the layout cannot silently drift.
  • This changes packaging only. No session, connector, or API behavior changes.

August 6, 2026: One skill catalog across personal, workspace, plugin, and built-in skills

  • Ara’s skill listing is now a unified, metadata-only catalog spanning your personal skills, workspace skills, plugin-bundled skills, and built-ins. Every entry carries a stable qualified id, its source, a content digest, and its activation keywords, and the full body is fetched on demand by id instead of occupying the prompt.
  • Name collisions no longer resolve silently: the catalog reports which entry won and why, and equal-priority ties return explicit choices.
  • Skills whose bodies ship inside the sandbox image are now listed with an honest availability state instead of disappearing from view.
  • No existing skill management behavior changes; create, update, and delete work exactly as before.

August 6, 2026: A published security contact for reporting vulnerabilities

  • Ara now publishes a security contact at ara.so/.well-known/security.txt, the standard location security researchers check. Reports go to security@ara.so, which is a monitored address. Previously the reporting policy lived only in a private repository, so there was no way for someone outside the company to find out how to reach us.

August 6, 2026: Connector plugins gain a repeatable acceptance proof

  • The new provider-acceptance contract makes a connected plugin prove discovery, returned-schema use, exactly one provider dispatch, duplicate refusal through invocation identity, and matching run evidence before it graduates beyond the current rollout boundary.
  • Context7’s resolver is the reference fixture. Production proof remains a human-visible session transcript plus exact-run observability; the repository script only prints the contract and runs the deterministic test fixture.
  • This release adds test and operator tooling only. It does not change production capability gates or connector behavior.

August 6, 2026: Repository secret values are owner/admin only

  • Viewing, exporting, editing, or removing a repository’s stored secret values (the reveal, the “.env” export, and Save/delete on the Environment page) now requires the org owner or admin role. Members still see which secrets are configured (their names), just not the values, and can no longer overwrite a value they cannot see.
  • Every reveal and export is now recorded in the organization audit log, so a bulk disclosure of repository credentials is always attributable to one person.

August 6, 2026: Messages sent mid-run now steer the working agent

  • Sending a chat message while the agent is working now delivers it into the live run: the agent picks it up at its next turn boundary, without abandoning the work in progress. The transcript acknowledges the message as queued and then confirms “Steered into the active turn.” once the agent has seen it. Previously the composer held mid-run messages locally and they only reached the agent as a fresh follow-up run after the current one finished, which is why follow-ups always felt like cold starts.
  • Several messages sent in quick succession are delivered together at the same turn boundary instead of one per turn, so a burst of corrections lands as one update.
  • Attachments on a mid-run message now reach the agent too. Files are staged into the run’s workspace and the agent is told their exact paths; previously a screenshot pasted mid-run was silently dropped.
  • A message that arrives too late to join the current run, or that hits a run being cancelled, is rerouted into a continuation run automatically, and its acknowledgement explains that instead of claiming delivery.
  • Holding messages in the composer while the agent works remains available as an opt-in behavior.

August 6, 2026: Reasoning appears before the first tool call

  • Provider-generated reasoning summaries now stream inside the session’s live work history as soon as they arrive. Previously Ara kept them behind a plain “Thinking” row until the agent used a tool, which made the same reasoning appear or disappear depending on what the agent did next.
  • The live work history stays open while the agent is active and collapses after the turn finishes, alongside its tool calls. Completed reasoning starts collapsed at both the outer work rail and its nested disclosure. Models that do not provide a reasoning summary continue to show the ordinary “Thinking” placeholder until visible work begins.
  • Once a reasoning summary is visible, Ara also stops measuring that turn as placeholder-only thinking, including during the brief handoff where the original placeholder can still coexist with streamed reasoning.

August 6, 2026: Session read-file rows use an open-book icon

  • When Ara reads a file during a session, the transcript chip and tool row now use an open-book icon instead of a closed book, so read actions read more clearly as looking something up.

August 6, 2026: Workspace switching works everywhere and creating a workspace is one step

  • The workspace menu’s flyout no longer disappears under the page on settings screens. It previously opened clipped to a sliver at the sidebar’s edge, leaving the workspace list unusable there; it now pops out over the content on every surface and follows its trigger while the rail scrolls or the window resizes.
  • The menu rows are now named for what they do: “Switch workspace” and “Create new workspace”, matching the Workspace naming used everywhere else, instead of the old “Switch account” and “Create new account”.
  • Creating a workspace is a single step: pick a name and optionally invite people. The repository-access step is gone; the new workspace’s onboarding offers repository connection right after creation, so nothing is lost by removing the fork.
  • The create dialog submits from the keyboard: Cmd+Enter (Ctrl+Enter on Windows and Linux) anywhere in the dialog, or plain Enter from the name field. Enter in the invites box still adds a newline, and confirming text through an input method never creates a workspace.

August 6, 2026: A failed payment is now visible everywhere in the workspace

  • When a workspace’s subscription payment fails, every page now shows a banner explaining that cloud agents are paused, with a direct path to update the payment method. Previously the only signals were a message when a run was refused and a single line on the billing settings page, so a workspace could sit paused without anyone understanding why.
  • The banner disappears on its own once the updated card’s payment goes through.

August 6, 2026: Inference route failures raise an alert instead of passing quietly

  • Ara’s model catalog now exposes only the reviewed current model families; retired provider choices are removed from new tasks and saved preferences.
  • The inference database now rejects direct or operator attempts to re-enable a retired model or one of its routes, while retaining historical prices solely for settlement reconciliation.
  • A model route whose gateway credential is missing or unusable now pages Ara’s operators. That condition returns an error for every request on the affected model, and until now nothing alerted on it.
  • Requests that lose their provider cost report, and grants bound to a route the model registry no longer recognizes, now alert as well, so a settlement gap is caught at the time it happens rather than found later during reconciliation.
  • Routes that ship disabled on purpose, ahead of being switched on, no longer register as tripped safety breakers. A real trip stays visible instead of being buried under a permanent alert for an intended state.

August 6, 2026: Legacy inference cleanup preserves workspace credits

  • Ara now records every remaining ambiguous request from the retired inference broker in an append-only reconciliation journal before deleting that old authority. Those amounts were internal provider-exposure controls, not workspace-credit charges, so reconciliation never creates a retroactive debit or blanket credit.
  • Cleanup runs in small operator-confirmed batches and records only aggregate telemetry. A missing or inconsistent row blocks deletion, while a retry cannot charge or reconcile the same request twice.

August 6, 2026: Curated model catalog

  • GLM 4.7 and Qwen3 Coder are no longer offered in the new-task model picker or Models settings. Existing saved selections fall back to the default Ara model instead of attempting a disabled route.
  • Ara now admits only reviewed models through its managed inference service. Database guards prevent retired model identities, legacy providers, or unapproved routes from being re-enabled, while historical pricing and settlement records remain available for reconciliation.

August 6, 2026: The Browser tab keeps working after a session finishes

  • A session’s sandbox is now held for a short window after the run ends instead of being torn down within seconds of it, so the Browser (Preview), Terminal and Display tabs still work on what the session just produced. Previously the machine was released almost immediately and those tabs went blank the moment the work finished, which is exactly when there is something to look at.
  • The hold applies whether the session succeeded or failed. A run that went wrong is often when you most want to open the preview and see what the dev server is doing.
  • It is a short window, not a reservation: the sandbox is still released promptly, and sending another message continues the session as before.

August 6, 2026: Queued messages match the composer width

  • The bar that stacks above the session composer, used for queued messages and run setup, no longer stretches most of the page. It sits a little narrower than the composer it stacks on, as intended.
  • Opening or closing the session summary now slides the transcript to and from its side position instead of jumping.

August 6, 2026: A redirect can no longer downgrade an outbound connection

  • Every request Ara makes to a service outside itself — a connected MCP server, an integration, a webhook you configure — now stays encrypted for the whole chain of redirects, not just the address it started from. A server that answers with a redirect to a plain http:// address, or to an address inside Ara’s own network, is refused instead of followed, and credentials are dropped when a redirect crosses to another origin. A chain of more than five redirects is refused as well.
  • This changes nothing for a server that redirects within https, which is followed as before, and nothing for the built-in MCP catalog.

August 6, 2026: Session sandboxes are released on schedule

  • A sandbox kept for a short while after a session ends, so a follow-up message can pick the workspace back up, is now released on Ara’s own schedule. Previously nothing enforced that window and the only limit was the hosting provider’s 24 hour cap, so those machines stayed reserved far longer than intended. The workspace still remains available for the same period you could already rely on.
  • A sandbox left behind by an interrupted session is now cleaned up by the routine sweep instead of waiting for that same 24 hour cap.

August 6, 2026: More permission checks on GitLab triggers and repo start-up scripts

  • Starting an agent run from a GitLab issue (issue opened, or a trigger label applied) now requires the actor to have write access to the project, matching the rule already applied to “@ara” mentions and merge-request reviews. A user who can only open issues or apply labels can no longer kick off a run.
  • Editing a repository’s session-start or preview script (the repo-level environment blueprint) now requires the org owner or admin role, because those scripts run with the repository’s secrets available. Members can still edit build-time setup that never sees secrets. Each secret-capable edit is recorded in the organization audit log.

August 7, 2026: Further agent and workspace security hardening

  • The agent can no longer read or post into another teammate’s session, or create workspace-wide connectors, from inside a run: those actions are now restricted to your own sessions and to a real signed-in owner/admin, so a run driven by untrusted repo or issue content cannot reach a colleague’s work.
  • A repository’s environment blueprint can no longer define reserved inference variable names (such as OPENAI_API_KEY), matching the rule already applied to stored secrets, and baked build values are scrubbed from stored build artifacts.
  • The public avatar image link now only serves genuine avatar images, not arbitrary files.

August 7, 2026: Defense-in-depth hardening across agent runs and workspace access

  • Text an agent writes to a pull request, an issue, a comment, or a commit message now has secret-shaped values and any of the workspace’s own stored secrets stripped out before it is published, so a run driven by untrusted repository or issue content cannot leak your credentials into a public artifact.
  • Several internal safeguards were tightened with no change to normal use: session tokens now require a dedicated signing key and are only accepted where they are issued; a shared “open access” workspace grants read-only browsing rather than a write-capable role; the connector gateway enforces each agent’s allowed-plugin list; and a preview feature that is off by default now refuses to turn on without its full access check in place.

August 5, 2026: Live Preview finds your dev server again

  • A repository that declares a dev server in its Blueprint (preview: with a command and a port) now has that server started and kept running for the session. Previously the declaration was read when the environment was built but never acted on during a session, so the server was stopped again as soon as the step that started it finished, and the Browser tab usually found nothing to show.
  • The port list no longer offers Ara’s own internal connection to the sandbox as though it were your dev server. Only servers you actually started are listed.
  • When a session has finished, the Browser tab now explains that the sandbox was released along with the dev server, and that sending a message continues the session and starts a new one. It previously showed an internal error code, and showed it in red as though something had broken.
  • The Browser tab no longer invites you to start a dev server in the same breath as telling you the sandbox is gone. It shows one status line rather than two that contradict each other.

August 5, 2026: Custom MCP servers must be reachable at a public address

  • Connecting a custom MCP server with OAuth now fails when the server URL, or an OAuth endpoint it advertises, resolves to a private or reserved address such as localhost, a 10.x or 192.168.x host, or a cloud metadata address. A server that is only reachable inside a private network could never have completed a connection anyway; attempting it now stops before any request is sent.
  • OAuth discovery no longer follows redirects. A server that answers its .well-known discovery documents with a redirect will fail to connect instead of being followed to another origin. Every server in Ara’s built-in MCP catalog serves those documents directly, so connections made through the catalog are unaffected.

August 5, 2026: Session branch and target read below the composer

  • The row showing a session’s working branch and where it runs is no longer part of the composer card. The card ends at the input box and that row sits under it as plain text, so it reads as information about the session rather than a control inside the input.

August 5, 2026: Groundwork for connector tools in cloud sessions

  • Connector tools are not yet available in cloud sessions. This entry describes preparatory work only, and the behavior below is switched off by default.
  • When it is switched on, Ara will reach a connected MCP server from its own backend rather than from inside the sandbox running your code. A connector’s access token is applied server-side and is never written into that machine, so a session can use a connector without ever holding its credential.
  • Connectors that run as a local process, such as the Postgres and Supabase servers, will keep running inside the session sandbox, where they stay isolated to your own workspace.
  • Requests to a connected server are refused if its address resolves to a private or internal network, including cloud metadata addresses.

August 5, 2026: Long sessions compact their context instead of failing

  • A session whose conversation grows past the model’s context window now summarizes its older history automatically and keeps working. The transcript shows “Compacted earlier context to stay within the model’s window” when this happens. Previously the next model request failed outright once the window filled.
  • The full conversation history is still kept for the transcript and for crash recovery; only what is sent to the model is condensed, and the summary work is billed and metered like any other model request.
  • Typing /compact in the chat while a session is running now compacts that session’s context on its next model step, instead of returning “capability unavailable”. A finished session still declines: it compacts automatically on its next turn if needed.

August 5, 2026: Uploads report their real staging outcome

  • Once file staging finishes, the agent is now told exactly which uploaded files landed in its workspace, including any that could not be transferred (for example, files too large to stage). It stops waiting for a file that will never arrive and tells you it could not open the upload instead of guessing at its contents.

August 5, 2026: Card verification when a free trial starts

  • Starting a free trial now places a temporary $1 authorization hold on the card, released immediately and never charged. A card the bank declines for that hold, or a prepaid card, can no longer start a trial: the subscription is cancelled at signup and the workspace returns to the Free plan, instead of the first invoice failing a week later. Cards that require additional authentication (3D Secure) are not affected by this check.
  • A card that already redeemed a free trial under a different account now ends the new trial at the end of its period instead of only being flagged internally.

August 5, 2026 — Safer, more reliable sessions

  • Ara now uses one managed execution path with task-scoped access and workspace credit settlement. Provider credentials remain server-side and are never exposed to a session environment, transcript, artifact, browser, or command line.
  • Session recovery, cleanup, and historical archiving now use fail-closed ownership checks. Active work and unresolved billing are preserved instead of being retired; completed history remains available.
  • Operator maintenance reports expose only aggregate safety and billing counts, never session contents, identifiers, or secret values.

August 5, 2026: Sessions run to completion instead of stopping after a minute

  • Sessions started from Slack, GitHub events, and pull request reviews now hold their run authority for as long as the work takes. Previously a session of roughly 45 seconds or longer could stop mid-task with an authorization error, because only some of the ways a session can start kept renewing the permission that lets it reach the model.
  • Recovery startup now rejects an incomplete process-lease handoff instead of silently replacing it, so deploy-skewed workers cannot bypass the same ownership checks.
  • Every runner-owned lease heartbeat now emits its start marker, so production telemetry shows which worker is actively renewing a session before any lease loss or renewal failure. A telemetry sink failure cannot interrupt the session or its lease cleanup.
  • A session whose worker hands it off during a deploy is now recorded as a planned handoff rather than an unexplained loss, so routine deploys are distinguishable from genuine lease failures.
  • When a session is recovered after its worker is replaced, a model request that failed with a transient provider error is now retried instead of ending the session. Cancelling a session still stops it immediately.

August 5, 2026 — Steadier session starts when many sessions recover at once

  • When a batch of sessions recovers together, for example after a deploy or an unexpected restart, Ara now paces how many sandboxes it asks the provider to create at the same time instead of requesting all of them in one burst. Sessions that wait their turn start a moment later rather than failing outright.
  • Provisioning retries now use a randomized delay, so a group of sessions recovering in lockstep no longer retries in lockstep and collides again on the same schedule.

August 5, 2026 — One workspace credit limit

  • Long tool-using sessions now renew their run-bound process lease from every production launch path, preventing a healthy session from being reclaimed and invalidating its own short-lived access grant.
  • Model use now reserves directly from the workspace’s shared credit balance. The temporary per-request, per-run, per-user/day, per-workspace/day, and global/day dollar caps are retired.
  • Legacy per-group dollars/day settings are ignored and no longer returned by the Team page. Groups may still carry non-monetary daily run limits.
  • Small remaining balances stay usable: Ara lowers the maximum output to the amount the workspace can afford, while exact token usage settles and releases the unused hold.
  • Sandbox runtime leases each billable minute from that same balance before it starts, preventing simultaneous model and sandbox work from overspending workspace credits.
  • System-credential fallback now trips the credential breaker, raw provider errors are sanitized, and service-owned inference secret names cannot be created, listed, exported, or injected into a sandbox.
  • Token and cost settlements now appear in workspace model-usage history as soon as they debit the same shared credit balance.
  • The retired inference broker’s database authority now fails closed before archival: it can be sealed only when no live grant, open request, or dollar hold remains, and the operation never adjusts workspace credits.

August 4, 2026 — Managed model execution

  • Ara sessions use a task-scoped managed inference service. The API holds service credentials; sandboxes receive only a short-lived grant restricted to one session and model, and usage settles against the workspace credit balance.
  • Usage settlement records the provider, model, credential type, input, cache, reasoning, output tokens, and cost. Provider or accounting failures remain visible and never use an unapproved fallback.
  • Repository wiki generation is temporarily unavailable while that background job moves onto normal queued sessions.
  • The marketing footer now lists Ara’s office address, Gaustadalléen 21, 0349 Oslo, Norway, alongside the copyright line. It reads the same in every language, as postal addresses should.

August 3, 2026 — Cancelling a past-due subscription stops collection immediately

  • Cancelling a subscription whose renewal payment has failed now voids the outstanding invoice and ends the plan right away, so automatic payment retries can no longer charge your card after you cancel.

August 3, 2026 — Clear usage budget messaging

  • A run that stops because an Ara AI usage budget is used up now says so: the chat shows a dedicated “AI usage budget reached” card explaining that one retry is worth attempting and that a repeat failure means the daily budget, which resets at midnight UTC, instead of a raw “429 Too Many Requests” error.
  • The Founding Engineer listing no longer states a San Francisco, in-person location or a monthly rate, on both the Careers index and the role page.
  • Hovering the “N files changed” segment of the composer plan pill now opens a card listing each changed file with its own additions and deletions. The compact summary uses the same muted text treatment as the other session tabs, while clicking the segment still opens Review.

August 2, 2026 — Safer cloud execution rollout

  • A staged rollout verified the normal workspace, authentication, session list, composer, and chat surfaces under the updated execution service before promotion.
  • Model requests start while the sandbox, repository, uploads, and browser tools are prepared. Tool calls wait for verified sandbox readiness before they can execute.
  • The rollout gates fail closed on authentication, ordering, reconnection, cleanup, and ownership failures. A failed gate retains the previous serving version instead of silently bypassing safety controls.
  • Recovery preserves the existing session history and replays only safe pending work. It retries bounded transient infrastructure failures, respects cancellation, and never creates a duplicate execution target.

August 8, 2026: Local chat follows the running API port

  • When the local development launcher selects a different API port because its default is already occupied, secure model requests now follow that selected port. Local sessions no longer fail inference by sending their grants to an unrelated process on the default port.

August 2, 2026 — Faster composer actions

  • Ara web and docs now use Helvetica Now Display throughout, with Geist Mono for code and file references and medium-weight links and mentions in chat.
  • The composer + menu now opens searchable Skills, Plugins, and Shortcuts sidecars in both full and compact session composers. Each shows up to five results, with connected plugins first, while Attach file keeps the existing multi-file picker behavior.
  • Device references in the composer now use the same blue treatment as skill references, showing a device icon and name instead of the raw quoted @ token. Device, plugin, and skill labels all render at medium weight.
  • The model sidecar now hugs short lists instead of leaving empty space below the available models.
  • Models & credentials now lists the three included Ara models and keeps availability guidance as a single note below the roster.
  • Error notifications now inherit the active light or dark theme and keep their dismiss control in the top-right corner.
  • Pending repository setup is now highlighted in orange, and its copy-prompt dialog explains cloud setup more directly.
  • Session turn rails are slimmer at rest while keeping their full hover expansion.
  • New Ara runs can initialize connected GitHub repositories with no commits, then continue through the normal branch and pull-request flow.
  • The project picker now offers Empty project for an explicit repo-less scratch workspace instead of sending New project clicks to GitHub.
  • Retrying a completed or failed task now preserves its original instructions, and tasks can continue after a local tool returns a structurally bounded static PNG without weakening the block on provider-hosted media or remote fetches.
  • Immediate follow-ups keep the same visible session context when it is safe, so chat stays on Thinking instead of returning to Preparing Hands. Ara deliberately starts a fresh workspace when it cannot prove the active run lease or cleanup.
  • The composer now states its run context in two places. Above a new task, one row holds the repository, the branch it will start from, and the location — Cloud, or Cloud plus one of your connected devices — and each control drops its icon once it holds a value. Plugins moved into the + menu. Beneath the input in a session, a separate row names the session’s own work branch (click to copy it), whether it is computing in the cloud or on your device, and how much of the model’s context is spent, with the token and cost detail on hover.
  • The location control keeps naming the device an unsent draft targets even after that device becomes unreachable or the page reloads, and the location menu shows the attached device as the current selection rather than implying the task will run in the cloud.
  • A session can now continue somewhere else. The location chip in the session status row opens Continue on, offering a fresh Ara Cloud sandbox or a folder on one of your connected devices. Ara starts a linked session at the destination from the session’s branch and stops the original, so only committed work travels. Choosing a device checks the branch out into the folder you picked, reusing an existing checkout instead of cloning again. Devices that are offline or running an older Ara release stay listed but unselectable, with the reason shown and a link to Settings → Devices.

August 1, 2026 — Workspace picker in the sidebar

  • The sidebar top-left now holds a workspace picker instead of the Ara wordmark. Its menu shows the current organization and member count, opens Settings or Invite members in one click, and lists your other workspaces under “Switch account” alongside Create new account and Log out.
  • Sidebar highlights are lighter: the picker matches the height of a navigation item, and session rows keep a gap so a hovered row no longer merges into the one next to it.
  • Dialog footer buttons are now pills and stay legible on the dark theme.

July 31, 2026 — Cleaner workspace navigation

  • Updated GPT-5.6 Luna and Terra usage metering to their latest lower provider rates, so the same Ara credit balance now covers more model usage.
  • “Add repositories” in the composer project menu now opens the Ara GitHub App’s repository-access settings instead of the read-only Codebase list, and Codebase carries the same action in its heading.
  • Selected Automation, Codebase, and Customize options now use a compact pill, while inactive options stay as muted text.
  • Notifications now match session turn previews, stay centered at the top on phones, and the turn rail sits clear of the workspace sidebar.
  • Component previews now stay pinned to one production deployment during releases, avoiding mixed frontend bundles.

July 7, 2026 — Cloud coding agent

  • Added the cloud coding agent flow for managing repository work from the web.
  • Added scoped sessions from connected repositories.
  • Added live progress in the workspace.
  • Added pull request and diff review without leaving Ara.

August 6, 2026 — Workspace-scoped harness profiles

  • Internal runtime experiments can now be selected by an operator-managed workspace profile instead of a separate hostname.
  • Ara persists the profile version and digest on each run so retries and continuations remain reproducible.