Azure Connection
CloudZero can now ingest Azure subscription-level tags and make them available for cost allocation and reporting, without requiring you to turn on Cost Management tag inheritance. Subscription tags are kept separate from resource-level tags, so an account-level value and a resource-level value for the same key are never conflated. Turn it on per Azure connection to allocate spend by tags applied at the subscription — such as team, cost center, or environment.
AI Signals
CloudZero now ingests Claude Code's native OpenTelemetry stream directly, so AI-assisted development spend appears in AI Signals with no custom instrumentation to build or maintain. Every interaction is captured with full fidelity — input, output, and cache token counts, the model invoked, and the calculated cost — and rolls up alongside the rest of your AI and LLM spend. Because the telemetry carries user and session context, you can attribute Claude Code cost to the engineers, teams, and workflows driving it, and group or allocate it like any other dimension. Engineering leaders get a clear, trendable view of what AI-assisted coding actually costs instead of a blind spot living outside the platform.
Telemetry Streams
A new replace-by-period operation lets you re-submit telemetry for specific usage dates in a single call, replacing only those dates while leaving all other data untouched.
Explorer
An Expand All button now reveals the second dimension across every top-level row at once when two group-bys are active. Saved views retain both a primary and secondary group-by, so you can persist a multi-dimensional analysis without relying on Favorites. Time-grouped exports keep both dimensions in the download, and clicking a child row narrows the parent dimension filter to just the parent you clicked, so sibling groups no longer appear in the drill-down. Kubernetes efficiency metrics now attach to child rows when a Kubernetes dimension is your second group-by, and are included in Explorer exports.
Improved
- Optimize: A new recommendation flags unused or empty Azure App Service plans for deletion, now generally available and enabled automatically for every organization connected to Azure.
-
Snowflake Connection: You can now point one AnyCost Snowflake connection at another as its rate source, so shared rates apply without duplicating rate data across connections.
-
Access Controls: AI Signals access is now governed by its own dedicated permission, letting administrators grant it independently of Telemetry Streams settings.
-
Access Controls: Permission filters can now combine up to 10 dimensions, letting you scope a role's data access across several attributes at once.
-
AI Signals: The AI Explorer cost table now includes a Customize Table drawer with optional token, cache, and model columns, so you can tailor the view to the metrics you track.
-
AI Signals: Cost breakdowns now include per-group token, cache, and model-count metrics including when grouping by two dimensions — so you can compare input, output, and cache usage alongside cost.
-
Views: Saved views can now persist both a primary and secondary group-by, so a two-dimensional cost breakdown reloads exactly as you configured it.
-
Snowflake Data Share: Date-range queries against your CloudZero data share are now faster and cheaper. Queries prune to only the partitions within your selected date window instead of scanning the entire dataset, so every pull returns quicker, scans less data, and consumes fewer Snowflake credits.
-
AI Signals: The AI Explorer date picker now interprets dates in your selected timezone, eliminating off-by-one-day results across timezone offsets, and the "last data received" timestamp now displays in that timezone as well.
-
AI Signals: LiteLLM v2 traces now populate cost, identity, streaming, and deployment details, bringing v2 telemetry to parity with earlier LiteLLM versions.
-
AI Signals: Info modals and column tooltips across the Livestream and AI Explorer now include clearer explanations and links to documentation.
-
AWS Connection: The CUR 2.0 setup form now warns when your S3 path prefix repeats the export name, helping you avoid a misconfiguration that silently ingests no data.
-
Dimension Studio: The Namespaces table's Created By and Last Updated By columns now show the change source, so updates made through the CLI or APIs are no longer blank.
-
macOS Collector: Saving, deleting, or rotating your CloudZero ingest API key now takes effect immediately, so telemetry delivery re-authenticates without relaunching the app.
-
Explorer: Applying a filter from the table checkboxes now keeps your current group-by in place and changes the grouping only when you click a row's title.
Fixed
- Container Costs: The usage page now loads reliably even when a cluster reports a corrupt metric value, so a single bad data point no longer takes the entire page offline.
-
Container Costs: The usage and workloads views now load reliably while backend data processing is running, no longer timing out during periods that previously returned errors.
-
Dimension Studio: Malformed dimension identifiers are now rejected with a clear validation error at submission, instead of being silently accepted and causing problems downstream.
-
Dimension Studio: Re-submitting an unchanged definition no longer reports dimensions as updated, so change tracking now reflects only genuine edits.
-
Dimension Studio: A dimension rule with an empty values list is now rejected during validation, preventing rules that silently match nothing from reaching cost allocation.
-
Anomalies: Large organizations can now load their full anomalies list, as responses are compressed and no longer exceed the size limit that previously blocked the page.
-
Anomalies: The cost impact on automatically detected anomalies can no longer be altered through the API, keeping dashboard cost-impact totals accurate and trustworthy.
-
GitHub Connection: GitHub Actions costs are now attributed to the individual workflow that generated them, rather than collapsing to a single value per repository, for more accurate allocation.
-
Cloud Connections: New Relic service name and namespace tags now populate correctly, resolving cases where they appeared empty for connections with many accounts or when the value was read from the wrong field.
-
Datadog Connection: The Datadog site is now saved in a consistent format for every connection, preventing the reauthentication failures caused by mismatched site values.
-
Integrations: Loading the project list for large ticketing integrations no longer fails on oversized responses, so organizations with many projects can select a destination reliably.
-
Optimize: Bulk selection in the Recommendations table now counts correctly and no longer leaves ghost selections when groups are collapsed, so bulk actions apply to exactly what you selected.
-
Explorer: The dimension refresh indicator now appears again in the sidebar Filters & Groupings panel, so you can tell when a dimension is still materializing before relying on it.
-
AI Signals: Drilling into a user name in AI Explorer now groups results by model instead of returning a single dead-end row, giving you a real per-model cost breakdown.
-
AI Signals: The AI Explorer date picker no longer snaps back to the prior month when the page re-renders in the background.
-
Optimize: The Recommendations table now shows friendly custom-dimension column headers on first load instead of occasionally displaying raw dimension keys.
-
Explorer: Grouping by two dimensions at once no longer causes the tab to freeze or discard an in-progress selection in the timeframe picker.
-
Views: Filters saved on a view now reload correctly when you reopen the editor and are no longer cleared when you save again.
-
Access Controls: The Access Filters drawer now closes on an outside click and prompts before discarding unsaved edits, so the organization switcher is no longer blocked.
-
Resource Details: Cost-allocation tags and the resource summary now appear even when cloud provider metadata is unavailable, so affected Azure and Snowflake resources no longer show an empty panel.
-
AI Signals: Custom dimensions sent as headers through the LiteLLM proxy are now captured in your cost data, so this AI spend can be allocated by your business dimensions.
-
AI Signals: LiteLLM v2 telemetry is now recorded as a single, correctly attributed event instead of being dropped or double-counted, so v2 AI spend is measured accurately.
-
macOS Collector: AI usage is now attributed to the identity currently configured on the machine, so restarting the collector no longer risks assigning activity to a stale identity.
-
macOS Collector: Requests cancelled mid-stream now leave a record with the usage the proxy observed, so tokens billed for interrupted requests are no longer missing from your telemetry.
-
macOS Collector: Uninstalling or removing the certificate now clears its certificate-trust environment variables, so tools like curl, Python, and Node no longer fail secure connections afterward.
-
macOS Collector: Status banners now explain what went wrong and what to do, such as prompting you to reconnect when your session expires, instead of showing an uninformative retry count.
-
Optimize: Azure Advisor-based recommendations now publish reliably, so the affected Azure recommendation types once again appear for your organization as expected.
-
AI Signals: Cost-over-time reports spanning long date ranges no longer fail to load, with responses now compressed and ranges capped at the most recent 90 days.
-
AI Signals: Anthropic cache-write token costs are now priced by their cache duration tier, correcting an understatement of estimated spend for models using prompt caching.
-
AI Signals: Cost and token totals now accumulate correctly across incremental data updates, correcting under-reported figures for telemetry not yet allocated to a dimension.

