> ## Documentation Index
> Fetch the complete documentation index at: https://astronomer.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Astro CLI release notes

> A record of the latest Astro command-line interface (CLI) features and bug fixes.

<Tip>[Subscribe to Astro CLI release notes](/docs/astro/release-notes-subscribe) to receive updates via RSS, email, or Slack.</Tip>

This document provides a summary of all changes made to the [Astro CLI](/docs/cli/v1.46/overview). For general product release notes, go to [Astro Release Notes](/docs/astro/release-notes). If you have any questions or a bug to report, contact [Astronomer support](https://cloud.astronomer.io/open-support-request).

* **Stable versions**: 1.46.0, 1.45.0, and 1.44.0. See [Astro CLI release and lifecycle policy](/docs/cli/v1.46/release-lifecycle-policy) for more information about support for CLI versions.
* **Older releases**: [1.37 through 1.20](/docs/cli/release-notes-archive-1), [1.19 through 1.10](/docs/cli/release-notes-archive-2), [1.9 through 0.2](/docs/cli/release-notes-archive-3)

<Update label="Astro CLI 1.46.0" description="September 29, 2026" rss={{ date: "2026-09-29" }}>
  ### Manage multiple Dag bundles and non-Dag bundles on a Deployment

  <Info>
    This feature is in [Public Preview](/docs/astro/feature-previews).
  </Info>

  Astro Deployments now support multiple named Dag bundles and non-Dag bundles, each deployed and versioned independently. Use `astro deploy --dag-bundle-name` to deploy to a named Dag bundle instead of the default `main` bundle, or `--non-dags` to deploy a non-Dag bundle, such as a dbt project, from a separate directory. Manage the bundles registered on a Deployment with the new [`astro deployment bundle`](/docs/cli/v1.46/astro-deployment-bundle-list) `create`, `list`, `update`, and `delete` commands.

  ### Local Airflow environments now default to Postgres 15

  New local Astro projects run Postgres 15 instead of 12.6. An existing project keeps the Postgres major version its local data volume was created with; run `astro dev kill` followed by `astro dev start` to move an existing project to the new default. See [Configure the Astro CLI](/docs/cli/v1.46/configure-cli).

  ### CLI telemetry events are now linked to your Astro Organization

  While you're logged in, [`astro telemetry`](/docs/cli/v1.46/astro-telemetry) events are now linked to your Astro Organization, and the CLI also tracks commands or flags you type that it doesn't have. Logged-out usage stays anonymous.
</Update>

<Update label="Astro CLI 1.45.0" description="August 13, 2026" rss={{ date: "2026-08-13" }}>
  ### Slim, field-filtered dbt manifest at deploy time

  When the [Cosmos Boost pre-deploy step](/docs/cli/v1.46/configure-cli) is enabled, `astro deploy` and `astro dbt deploy` now also write a slim, field-filtered `.astro/manifest.slim.json` next to each dbt manifest. Cosmos Boost can load this smaller file instead of the full `manifest.json` to reduce Dag-parse time and memory on large dbt projects. This is on by default whenever `cosmos_boost.pre_deploy` is enabled. To opt out, set `ASTRO_COSMOS_BOOST_SLIM_MANIFEST_ENABLED=false`.

  [`astro dbt cleanup`](/docs/cli/v1.46/astro-dbt-cleanup) now removes both `.astro/dbt_metadata.json` and `.astro/manifest.slim.json`.

  ### `--dags-path` is no longer a hidden flag on `astro deploy`

  The [`--dags-path`](/docs/cli/v1.46/astro-deploy) flag, which deploys Dags from a path other than your project's `dags` directory, is now documented. Combining `--dags` with `--dags-path` no longer requires running the command from an Astro project directory.

  ### Bug fixes

  * `astro deploy` now correctly parses Remote Execution Agent client image tags that include a distro segment (for example, `-ubi9-`) instead of failing with a parse error. When multiple distro variants are available, the CLI prefers the Debian-based image by default.
</Update>

<Update label="Astro CLI 1.44.0" description="August 6, 2026" rss={{ date: "2026-08-06" }}>
  ### New `astro dbt cleanup` command and Cosmos Boost pre-deploy step

  Set `cosmos_boost.pre_deploy` to `true` to enable an opt-in Cosmos Boost pre-deploy step:

  ```bash wrap theme={null}
  astro config set cosmos_boost.pre_deploy true
  ```

  When enabled, [`astro deploy`](/docs/cli/v1.46/astro-deploy) and [`astro dbt deploy`](/docs/cli/v1.46/astro-dbt-deploy) generate a `.astro/dbt_metadata.json` file next to each dbt project and dbt manifest in your deploy payload before it leaves your machine. Cosmos Boost uses this file as a cache key instead of hashing your project tree at every Dag parse. This step is disabled by default and has no effect on your deploy while disabled. It doesn't apply to deploys that use `--image-name` with a prebuilt image.

  Use the new [`astro dbt cleanup`](/docs/cli/v1.46/astro-dbt-cleanup) command to remove Cosmos Boost artifacts from one or more paths.

  ### Adopt operator-managed Deployments on Astro Private Cloud

  <Info>
    **Public Preview**

    This feature is in Public Preview for Astro Private Cloud.
  </Info>

  Use the new [`astro deployment adopt`](/docs/cli/v1.46/astro-deployment-adopt) command to bring an Airflow custom resource that the standalone operator created into Astro Private Cloud management. The command creates the matching Deployment record in Astro Private Cloud. It also updates the custom resource. It reconfigures the ingress and the authentication for the Airflow UI. The Deployment's namespace and its metadata database don't change.

  ```bash wrap theme={null}
  astro deployment adopt --cluster-id=<cluster-id> --name=<cr-name> --namespace=<cr-namespace>
  ```

  Use `--use-apc-logging` to route the adopted Deployment's logs through Astro Private Cloud logging. This flag updates the logging configuration in the custom resource. Use `--use-apc-registry` to use the Astro Private Cloud in-cluster registry. If you use `--use-apc-registry`, you must pre-sync the Deployment's images.

  Use the new [`astro deployment unadopt`](/docs/cli/v1.46/astro-deployment-unadopt) command to release an adopted Deployment back to operator-only management. The command removes the Deployment record from Astro Private Cloud. It doesn't delete the Airflow custom resource, its namespace, or its metadata database.

  Both commands require Astro Private Cloud 2.1.0 or later.

  ### Additional improvements

  * [`astro api`](/docs/cli/v1.46/astro-api) `describe` now expands nested `$ref` schemas fully instead of stopping at the first reference. Both `describe` and `ls` support a new `--json` flag for machine-readable output.
  * Added a repeatable `--build-secret` flag to [`astro dev build`](/docs/cli/v1.46/astro-dev-build), [`astro dev start`](/docs/cli/v1.46/astro-dev-start), [`astro dev restart`](/docs/cli/v1.46/astro-dev-restart), [`astro dev parse`](/docs/cli/v1.46/astro-dev-parse), [`astro dev pytest`](/docs/cli/v1.46/astro-dev-pytest), [`astro dev upgrade-test`](/docs/cli/v1.46/astro-dev-upgrade-test), and [`astro deploy`](/docs/cli/v1.46/astro-deploy) to pass multiple Docker build secrets. The existing `--build-secrets` flag is deprecated because passing more than one secret to it silently mounted only the last one.
  * Added a `dev.build_secrets` configuration key so you can set a build secret once instead of passing `--build-secret` on every `astro dev` command. Set it with `astro config set dev.build_secrets "<secret>"` or `astro config set --global dev.build_secrets "<secret>"`.
  * `astro deploy` to Astro Private Cloud Hybrid Deployments now injects an Airflow 3-compatible monitoring Dag. Previously, only Airflow 2 monitoring Dags were supported.
  * New projects created with [`astro dev init`](/docs/cli/v1.46/astro-dev-init) now add `.astro/worktrees/` to `.gitignore`.
  * Added a `--mode` flag to [`astro deployment create`](/docs/cli/v1.46/astro-deployment-create) for Astro Private Cloud to create Operator-mode Deployments. This flag requires Astro Private Cloud 2.1.0 or later.
  * Deprecated the `-h`, `--hard` flag on [`astro deployment delete`](/docs/cli/v1.46/astro-deployment-delete) for Astro Private Cloud. Astro Private Cloud now hard-deletes Deployments by default, so the flag has no effect. Astronomer plans to remove the flag in a future release.

  ### Bug fixes

  * Fixed a bug where a successful interactive re-login after a failed token refresh was immediately overwritten, which left you signed out even though sign-in succeeded.
  * Fixed [`astro dev pytest`](/docs/cli/v1.46/astro-dev-pytest) and [`astro dev parse`](/docs/cli/v1.46/astro-dev-parse) to read container exit codes as integers instead of comparing them as substrings. Previously, exit code 10 was reported as a pass and exit code 130 was reported as a test failure.
  * Fixed [`astro deploy`](/docs/cli/v1.46/astro-deploy) to return an error instead of exiting successfully when it fails to save the Deployment ID to your project configuration.
  * Fixed `astro deployment update` on Astro Private Cloud to return an error instead of exiting successfully when you specify an invalid `--executor` value.
  * Fixed an issue where the Astro CLI created scaffolded projects, templates, and other files and folders with world-writable permissions. Directories now default to `0o755`, files to `0o644`, and files that can contain credentials to `0o600`.
  * Fixed [`astro api airflow`](/docs/cli/v1.46/astro-api-airflow) with `--paginate` and `--slurp` to page through the full result set for Airflow REST endpoints, such as `get_dags`. Previously, results were capped at the first page.
  * Fixed commands that accept `--workspace-id` to honor the flag before requiring a current Workspace context. This fixes non-interactive authentication with an Organization-scoped API token.
  * Fixed `astro organization audit-logs export` to write a valid gzip file. A regression in 1.43.0 caused the command to write uncompressed data to a file with a `.gz` extension.
  * Fixed [`astro organization switch`](/docs/cli/v1.46/astro-organization-switch) and [`astro workspace switch`](/docs/cli/v1.46/astro-workspace-switch) to find a target Organization, Workspace, or Deployment that isn't on the first page of results.
</Update>

<Update label="Astro CLI 1.43.1" description="July 2, 2026" rss={{ date: "2026-07-02" }}>
  ### Bug fixes

  * Fixed [`astro deployment update`](/docs/cli/v1.46/astro-deployment-update) with `--deployment-file` against Kubernetes-executor Deployments. A regression in 1.43.0 caused the command to send an empty `worker_queues` field, which returned an `Invalid field values` error.
  * Fixed [`astro deployment airflow-variable copy`](/docs/cli/v1.46/astro-deployment-airflow-variable-copy), [`astro deployment connection copy`](/docs/cli/v1.46/astro-deployment-connection-copy), and [`astro deployment pool copy`](/docs/cli/v1.46/astro-deployment-pool-copy) to retry write requests after a transient server error and to update existing values instead of failing when you rerun a copy after a partial failure.
  * Fixed [`astro dev start`](/docs/cli/v1.46/astro-dev-start) `--standalone` to show sign-in instructions for Airflow 2 projects after startup. On Linux, Apache Airflow writes a random password for the default `admin` user to a file, and the CLI didn't previously tell you where to find it.
</Update>

<Update label="Astro CLI 1.43.0" description="June 23, 2026" rss={{ date: "2026-06-23" }}>
  <Warning>
    **Known issue (resolved in 1.43.1)**

    Astro CLI 1.43.0 fails to run [`astro deployment update`](/docs/cli/v1.46/astro-deployment-update) with `--deployment-file` against Kubernetes-executor Deployments. The command sends an empty `worker_queues` field, which returns an `Invalid field values` error.

    **Impact:**
    You cannot update a Kubernetes-executor Deployment using a Deployment file on Astro CLI 1.43.0.

    **Solution:**
    Upgrade to Astro CLI 1.43.1 or later. This issue is fixed in Astro CLI version 1.43.1.
  </Warning>

  ### New `astro env` command tree

  A new [`astro env`](/docs/cli/v1.46/astro-env) command tree manages Astro Environment Manager objects from your terminal, including environment variables, Airflow connections, Airflow variables, and metrics exports. You can scope each object to a Workspace or a Deployment, link Workspace-scoped objects to specific Deployments, and bulk-import variables from a dotenv file.

  * [`astro env variable`](/docs/cli/v1.46/astro-env-variable) manages environment variables and exports them to a `.env` file with [`astro env variable export`](/docs/cli/v1.46/astro-env-variable-export).
  * [`astro env variable link`](/docs/cli/v1.46/astro-env-variable-link) links a Workspace variable to specific Deployments, with optional per-Deployment value overrides.
  * [`astro env connection`](/docs/cli/v1.46/astro-env-connection) manages Airflow connections.
  * [`astro env airflow-variable`](/docs/cli/v1.46/astro-env-airflow-variable) manages Airflow variables.
  * [`astro env metrics-export`](/docs/cli/v1.46/astro-env-metrics-export) manages metrics exports.

  These commands are distinct from [`astro deployment variable`](/docs/cli/v1.46/astro-deployment-variable-create) and [`astro deployment connection`](/docs/cli/v1.46/astro-deployment-connection-create), which write directly to a single Deployment. To manage the same objects in the Astro UI, see [Create environment variables in the Astro UI](/docs/astro/create-and-link-environment-variables) and [Create Airflow connections in the Astro UI](/docs/astro/create-and-link-connections).

  ### Dag processor and component filters for `astro deployment logs`

  [`astro deployment logs`](/docs/cli/v1.46/astro-deployment-logs) now accepts a `--dag-processor` flag to show Dag processor logs. A new `--component` flag shows logs from one or more components by name. The `--component` flag is repeatable and accepts a comma-separated list, so you can opt into new log sources without a CLI release.

  ### Additional improvements

  * The deployment template file used by [`astro deployment create`](/docs/cli/v1.46/astro-deployment-create) and [`astro deployment update`](/docs/cli/v1.46/astro-deployment-update) now supports the `podEphemeralStorage` field.
  * [`astro otto`](/docs/cli/v1.46/astro-otto) now surfaces its `update` and `version` subcommands in `--help`.

  ### Bug fixes

  * Fixed [`astro deploy`](/docs/cli/v1.46/astro-deploy) to preserve symlinks and honor `.dockerignore` in the image build context.
  * Fixed [`astro deploy`](/docs/cli/v1.46/astro-deploy) to preserve the trailing newline in your `.dockerignore` after building the image.
  * Fixed [`astro deploy`](/docs/cli/v1.46/astro-deploy) to skip the Dag-only deploy check on Remote Execution Deployments, which previously blocked custom image deploys to those Deployments.
  * Fixed [`astro dev start`](/docs/cli/v1.46/astro-dev-start) standalone mode to set `PYTHONPATH` to match the Astro Runtime image.
  * Fixed [`astro dev start`](/docs/cli/v1.46/astro-dev-start) `--standalone` for Airflow 2 projects whose Dockerfile uses a `-slim` Astro Runtime image. The CLI now strips the `-slim` suffix when fetching constraints, so the command no longer fails with an HTTP 404 error.
  * Fixed [`astro dev start`](/docs/cli/v1.46/astro-dev-start) in Docker Compose mode so that bare host-environment passthrough resolves. Previously, an `environment: [VAR]` entry without a value in a `docker-compose.override.yml` file was ignored.
  * Fixed [`astro dev init`](/docs/cli/v1.46/astro-dev-init) to add `.astro/*.local.yml` and `.astro/*.local.yaml` to `.gitignore`, so local config files are no longer committed unintentionally.
  * Fixed local Astro project setup with the Podman container engine on Windows.
  * Fixed local project discovery on Windows. The CLI now writes `routes.json` even when the proxy daemon is unavailable, so you can reach local projects by hostname.
</Update>

<Update label="Astro CLI 1.42.1" description="May 20, 2026" rss={{ date: "2026-05-20" }}>
  ### Bug fixes

  * Fixed [`astro deploy`](/docs/cli/v1.46/astro-deploy) with `--image-name` against Deployments that have Dag-only deploys disabled, including Remote Execution Deployments. A regression in 1.42.0 caused these deploys to fail with a `DAG-only deploys are not enabled for this Deployment` error.
  * Fixed `astro dev start` with the Podman container engine on Windows. Native Podman commands no longer receive an unsupported `npipe://` connection value, so local project setup completes successfully.
</Update>

<Update label="Astro CLI 1.42.0" description="April 30, 2026" rss={{ date: "2026-04-30" }}>
  <Warning>
    **Known issue (resolved in 1.42.1)**

    Astro CLI 1.42.0 fails to deploy with [`astro deploy`](/docs/cli/v1.46/astro-deploy) `--image-name` against Deployments that have Dag-only deploys disabled, including Remote Execution Deployments. The deploy returns a `DAG-only deploys are not enabled for this Deployment` error.

    **Impact:**
    You cannot push a custom image to a Remote Execution Deployment, or to any Deployment without Dag-only deploys enabled, using `--image-name` on Astro CLI 1.42.0.

    **Solution:**
    Upgrade to Astro CLI 1.42.1 or later. This issue is fixed in Astro CLI version 1.42.1.
  </Warning>

  ### New `astro otto` command

  A new [`astro otto`](/docs/cli/v1.46/astro-otto) command launches [Otto](/docs/astro/otto/otto-overview), Astronomer's data engineering agent, in your terminal. The CLI handles Otto binary downloads, version management, and authentication automatically.

  ### Airflow 2 support in standalone mode

  Standalone mode now supports Airflow 2 (Astro Runtime 13.x) projects in addition to Airflow 3. Run `astro dev start --standalone` from any Astro project to start a local Airflow environment without Docker, regardless of the Airflow major version.

  ### `--json` and `--output` flags for list commands

  Most list commands now accept `--json`, `--output` (`-o`), and `--template` flags to produce machine-readable output for scripts and CI/CD pipelines. The default table output is unchanged.

  The following commands support the new flags:

  * [`astro dev ps`](/docs/cli/v1.46/astro-dev-ps)
  * [`astro deployment list`](/docs/cli/v1.46/astro-deployment-list)
  * [`astro deployment user list`](/docs/cli/v1.46/astro-deployment-user)
  * [`astro deployment team list`](/docs/cli/v1.46/astro-deployment-team)
  * [`astro workspace list`](/docs/cli/v1.46/astro-workspace-list)
  * [`astro workspace user list`](/docs/cli/v1.46/astro-workspace-user-list)
  * [`astro workspace team list`](/docs/cli/v1.46/astro-workspace-team-list)
  * [`astro organization list`](/docs/cli/v1.46/astro-organization-list)
  * [`astro organization user list`](/docs/cli/v1.46/astro-organization-user-list)
  * [`astro organization team list`](/docs/cli/v1.46/astro-organization-team-list)

  For example:

  ```bash wrap theme={null}
  astro workspace list --json
  astro deployment list -o template --template '{{range .Deployments}}{{.Name}} ({{.DeploymentID}}){{"\n"}}{{end}}'
  ```

  `--json` and `--output` are mutually exclusive.

  ### Faster local environment startup

  `astro dev start` and [`astro dev object import`](/docs/cli/v1.46/astro-dev-object-import) now apply variables, connections, and pools from `airflow_settings.yaml` through the Airflow REST API instead of running a separate Airflow CLI command per item. A typical settings file with several connections, variables, and pools that previously took more than a minute now completes in a few seconds.

  ### Astro Private Cloud 2.0 support

  The CLI now supports Astro Private Cloud 2.0. Deployment, image update, and Dag-only deploy operations against Astro Private Cloud 2.0. Compatibility with earlier Astro Private Cloud versions is preserved.

  ### Additional improvements

  * `astro dev init` and `astro dev start --standalone` now skip Astro Runtime versions marked as yanked when picking a default image tag, so new projects no longer pin to a yanked Runtime version. This does not affect projects that already pin a floating tag in their Dockerfile, because Docker resolves floating tags through the registry.
  * The `--spec-url` flag on [`astro api cloud`](/docs/cli/v1.46/astro-api-cloud) now accepts local file paths in addition to HTTP URLs. Supported forms include absolute paths, relative paths, paths starting with `~/`, and `file://` URIs. Local specs are read fresh on every command invocation, and the `--spec-token-env-var` flag is ignored for local files.
  * [`astro deployment logs`](/docs/cli/v1.46/astro-deployment-logs) with `--log-count` now paginates results so the command returns the full requested number of log lines. Previously, results were capped at the API's per-page limit regardless of the requested count.
  * The Astro CLI now reports the local development mode (`docker` or `standalone`) in anonymous telemetry. To opt out of telemetry, run [`astro telemetry disable`](/docs/cli/v1.46/astro-telemetry-disable) or set the `ASTRO_TELEMETRY_DISABLED` environment variable to `1`.

  ### Bug fixes

  * Fixed `astro dev start --standalone` to use your project's `plugins/` folder for `plugins_folder`. Previously, `plugins_folder` defaulted to `.astro/standalone/plugins/`, so plugins from your project were not loaded.
  * Fixed [`astro deploy`](/docs/cli/v1.46/astro-deploy) with `--image-name` to skip Dockerfile parsing. Projects that build their image in a separate pipeline and reference it through `--image-name` no longer fail when no `Dockerfile` is present in the project directory.
</Update>

<Update label="Astro CLI 1.41.0" description="April 20, 2026" rss={{ date: "2026-04-20" }}>
  ### New `astro auth` command

  A new [`astro auth`](/docs/cli/v1.46/astro-auth) command group provides commands for authenticating to Astro or Astro Private Cloud:

  * [`astro auth login`](/docs/cli/v1.46/astro-auth-login): Authenticate to Astro or Astro Private Cloud. The existing [`astro login`](/docs/cli/v1.46/astro-login) command is now an alias for this command.
  * [`astro auth logout`](/docs/cli/v1.46/astro-auth-logout): Log out of the Astro CLI. The existing [`astro logout`](/docs/cli/v1.46/astro-logout) command is now an alias for this command.
  * [`astro auth token`](/docs/cli/v1.46/astro-auth-token): Print the current authentication token to standard output. This is useful for using the token in scripts or CI/CD pipelines. Use the `--domain` flag to print the token for a specific context domain.

  ### New `astro api registry` command

  A new [`astro api registry`](/docs/cli/v1.46/astro-api-registry) command lets you make HTTP requests to the Airflow Provider Registry API directly from the Astro CLI. No authentication is required. The command supports endpoint discovery with `ls` and `describe`, `jq` filters, Go template output, and a `--generate` flag to produce equivalent `curl` commands.

  ### Additional improvements

  * Added the `-f` (`--force`) flag to [`astro dev init`](/docs/cli/v1.46/astro-dev-init) to initialize a project without confirmation, even in a non-empty directory.
  * Added the `-f` (`--force`) flag to [`astro deployment create`](/docs/cli/v1.46/astro-deployment-create) to create a Deployment without prompting for confirmation.
  * Added the `-f` (`--force`) flag to [`astro organization team update`](/docs/cli/v1.46/astro-organization-team-update), [`astro organization team delete`](/docs/cli/v1.46/astro-organization-team-delete), and the `astro organization team user` [`add`](/docs/cli/v1.46/astro-organization-team-user) and [`remove`](/docs/cli/v1.46/astro-organization-team-user) subcommands to skip confirmation prompts for Identity Provider (IdP)-managed teams.
  * The `-f` (`--force`) flag on [`astro deploy`](/docs/cli/v1.46/astro-deploy) now also skips the "No Dags found" warning in addition to parse errors and uncommitted changes.
  * Added Swagger 2.0 support and custom spec URL for `astro api cloud`.
  * Fixed `astro dev run` to propagate non-zero exit codes from the executed command.
  * Fixed `astro dev restart` with `--allow-existing` to preserve the virtual environment in standalone mode.
  * Fixed `astro dev start` in standalone mode to add `include/` to `PYTHONPATH`.
  * Standardized error messages for missing required flags across commands.
  * Fixed the default image ordering for `astro-agent` in Airflow version resolution.
  * Improved help text with examples and descriptions across commands.
</Update>

<Update label="Astro CLI 1.40.1" description="March 12, 2026" rss={{ date: "2026-03-12" }}>
  ### Bug fixes

  * Fixed the `astro dev pytest` command to use `docker cp` instead of bind-mounts for copying test files into the container.
</Update>

<Update label="Astro CLI 1.40.0" description="March 10, 2026" rss={{ date: "2026-03-10" }}>
  ### New `astro dev build` command

  A new [`astro dev build`](/docs/cli/v1.46/astro-dev-build) command builds your Astro project into a Docker image without starting a local Airflow environment. Use this command to verify that your project builds successfully before deployment. The command supports `--no-cache` and `--image-name` flags.

  ### New `astro api` command

  A new [`astro api`](/docs/cli/v1.46/astro-api) command lets you make authenticated API requests to Astronomer services directly from the Astro CLI:

  * [`astro api airflow`](/docs/cli/v1.46/astro-api-airflow): Make requests to the Airflow REST API for a local or deployed Airflow instance. The CLI automatically detects the Airflow version and resolves the OpenAPI spec. Supports endpoint discovery via `ls` and `describe`, pagination, `jq` filters, Go template output, and a `--curl` flag to generate equivalent `curl` commands.
  * [`astro api cloud`](/docs/cli/v1.46/astro-api-cloud): Make requests to the Astro platform API using your current context's bearer token. Supports the same output formatting and discovery features as `astro api airflow`.

  ### Standalone mode for Docker-free local development

  You can now run a local Airflow environment without Docker using standalone mode. Standalone mode runs Airflow directly on your machine using a virtual environment. This initial release supports Airflow 3 projects only.

  To use standalone mode, set it as the default for a project:

  ```bash wrap theme={null}
  astro config set dev.mode standalone
  ```

  Or use the `--standalone` flag to override for a single command:

  ```bash wrap theme={null}
  astro dev start --standalone
  ```

  All existing `astro dev` commands work in standalone mode, including `run`, `bash`, `parse`, `pytest`, `object import`, and `object export`. The `build`, `upgrade-test`, and `compose-export` commands are not available in standalone mode.

  ### Built-in reverse proxy for multi-instance local development

  When you run `astro dev start`, a built-in reverse proxy now routes `<project>.localhost:6563` to the correct local Airflow instance. This lets you run multiple Airflow projects simultaneously without manually configuring ports. The first project keeps the default port (8080), and subsequent projects are assigned random ports automatically.

  To view all running projects and their routes, run [`astro dev proxy status`](/docs/cli/v1.46/astro-dev-proxy). To disable the proxy for a single start, use `astro dev start --no-proxy`.

  When working in a git worktree, the URL includes both the worktree and repository names: `<worktree>.<repo>.localhost:6563`.

  ### New `astro telemetry` command

  A new [`astro telemetry`](/docs/cli/v1.46/astro-telemetry) command lets you manage anonymous usage telemetry for the Astro CLI. Telemetry is enabled by default and sends anonymous usage data using a fire-and-forget pattern with no impact on CLI responsiveness. Use [`astro telemetry disable`](/docs/cli/v1.46/astro-telemetry-disable) or set the `ASTRO_TELEMETRY_DISABLED` environment variable to `1` to opt out.

  ### Removed `astro registry` command

  The `astro registry` command and its subcommands (`dag add`, `provider add`) have been removed.

  ### Additional improvements

  * Added the `--kill` (`-k`) flag to [`astro dev restart`](/docs/cli/v1.46/astro-dev-restart). When used, this flag kills all running containers and removes all data before restarting. This is equivalent to running `astro dev kill` followed by `astro dev start`.
  * Added the `--fix` flag to [`astro dev upgrade-test`](/docs/cli/v1.46/astro-dev-upgrade-test) to automatically fix linting issues identified by the upgrade test using ruff.
  * Added the `--no-dags-base-dir` flag to [`astro deploy`](/docs/cli/v1.46/astro-deploy) for use with `--dags`. By default, Dag-only deploys place files in a `dags/` folder prefix. With `--no-dags-base-dir`, files are placed at the bundle root for compatibility with Airflow 3, which adds the bundle root to `sys.path` instead of the `dags/` folder.
  * Added `--api-server` and `--dag-processor` component filter flags to [`astro dev logs`](/docs/cli/v1.46/astro-dev-logs).
  * Astro IDE commands now display Workspace and project names instead of IDs in command output.
  * Fixed an issue that prevented organization switching by ID when the organization didn't appear in the initial paginated list.
  * Fixed Podman builds by passing the machine socket through correctly.
</Update>

<Update label="Astro CLI 1.39.0" description="February 17, 2026" rss={{ date: "2026-02-17" }}>
  ### Additional improvements

  * The Astro CLI now strips newline characters from entries in the dag integrity exceptions file, preventing parse failures caused by trailing newlines.
  * You can now use the `--session-id` flag with [`astro ide project import`](/docs/cli/v1.46/astro-ide-project-import) to specify a session ID when importing an Astro IDE project.
  * `astro remote deploy` now blocks deployment of client images with an Astro Runtime version newer than the target Deployment's Astro Runtime version to ensure compatibility.
  * Added support for Astro Private Cloud 1.1.
</Update>

<Update label="Astro CLI 1.38.1" description="November 4, 2025" rss={{ date: "2025-11-04" }}>
  ### Additional improvements

  * You can now import Astro IDE projects to non-empty directories with user confirmation.

  ### Bug fixes

  * Fixed `astro remote deploy` to correctly install dependencies from `requirements-client.txt` and `packages-client.txt` during image build.
</Update>

<Update label="Astro CLI 1.38.0" description="October 27, 2025" rss={{ date: "2025-10-27" }}>
  <Warning>
    **Known issue (resolved in 1.38.1)**

    Astro CLI 1.38.0 installs Remote Execution Agent Python and system dependencies from `requirements.txt` and `packages.txt` instead of `requirements-client.txt` and `packages-client.txt` when you run `astro remote deploy`. As a result, dependencies meant for the client may not be installed on the Remote Execution Agent as expected.

    **Impact:**
    If your remote execution depends on packages listed only in `requirements-client.txt` or `packages-client.txt`, these will not be installed, which can lead to missing dependencies or failures at runtime.

    **Solution:**
    Upgrade to Astro CLI 1.38.1 or later. This issue is fixed in Astro CLI version 1.38.1.
  </Warning>

  ### Enable remote execution with `astro dev init`

  You can now create a remote execution project using [`astro dev init`](/docs/cli/v1.46/astro-dev-init#remote-execution-mode). Setting remote execution mode prompts you to add the resources necessary for configuring your remote execution configuration.

  ### Behavior Changes

  <Warning>These changes only apply to Astro users. Please check the [CLI command reference](/docs/cli/v1.46/reference) for more information about CLI commands for Astro Private Cloud.</Warning>

  * Enabled `astro remote deploy` command by default
  * Deprecated `--force-upgrade-to-af3` flag from `astro deploy`
  * Added `--wait-time` flag for `astro deployment create`, `astro deploy`, `astro dbt deploy` commands, to allow you to configure wait time for the operation to finish. The default wait time is now 5 minutes.
</Update>
