- Stable versions: 1.46.0, 1.45.0, and 1.44.0. See Astro CLI release and lifecycle policy for more information about support for CLI versions.
- Older releases: 1.37 through 1.20, 1.19 through 1.10, 1.9 through 0.2
September 29, 2026
Manage multiple Dag bundles and non-Dag bundles on a Deployment
This feature is in Public Preview.
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 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; runastro dev kill followed by astro dev start to move an existing project to the new default. See Configure the Astro CLI.CLI telemetry events are now linked to your Astro Organization
While you’re logged in,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.August 13, 2026
Slim, field-filtered dbt manifest at deploy time
When the Cosmos Boost pre-deploy step 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 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 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 deploynow 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.
August 6, 2026
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:astro deploy and 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 command to remove Cosmos Boost artifacts from one or more paths.Adopt operator-managed Deployments on Astro Private Cloud
Public PreviewThis feature is in Public Preview for Astro Private Cloud.
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.--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 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 apidescribenow expands nested$refschemas fully instead of stopping at the first reference. Bothdescribeandlssupport a new--jsonflag for machine-readable output.- Added a repeatable
--build-secretflag toastro dev build,astro dev start,astro dev restart,astro dev parse,astro dev pytest,astro dev upgrade-test, andastro deployto pass multiple Docker build secrets. The existing--build-secretsflag is deprecated because passing more than one secret to it silently mounted only the last one. - Added a
dev.build_secretsconfiguration key so you can set a build secret once instead of passing--build-secreton everyastro devcommand. Set it withastro config set dev.build_secrets "<secret>"orastro config set --global dev.build_secrets "<secret>". astro deployto 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 initnow add.astro/worktrees/to.gitignore. - Added a
--modeflag toastro deployment createfor Astro Private Cloud to create Operator-mode Deployments. This flag requires Astro Private Cloud 2.1.0 or later. - Deprecated the
-h,--hardflag onastro deployment deletefor 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 pytestandastro dev parseto 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 deployto return an error instead of exiting successfully when it fails to save the Deployment ID to your project configuration. - Fixed
astro deployment updateon Astro Private Cloud to return an error instead of exiting successfully when you specify an invalid--executorvalue. - 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 to0o644, and files that can contain credentials to0o600. - Fixed
astro api airflowwith--paginateand--slurpto page through the full result set for Airflow REST endpoints, such asget_dags. Previously, results were capped at the first page. - Fixed commands that accept
--workspace-idto 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 exportto write a valid gzip file. A regression in 1.43.0 caused the command to write uncompressed data to a file with a.gzextension. - Fixed
astro organization switchandastro workspace switchto find a target Organization, Workspace, or Deployment that isn’t on the first page of results.
July 2, 2026
Bug fixes
- Fixed
astro deployment updatewith--deployment-fileagainst Kubernetes-executor Deployments. A regression in 1.43.0 caused the command to send an emptyworker_queuesfield, which returned anInvalid field valueserror. - Fixed
astro deployment airflow-variable copy,astro deployment connection copy, andastro deployment pool copyto 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--standaloneto show sign-in instructions for Airflow 2 projects after startup. On Linux, Apache Airflow writes a random password for the defaultadminuser to a file, and the CLI didn’t previously tell you where to find it.
June 23, 2026
New astro env command tree
A new 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 variablemanages environment variables and exports them to a.envfile withastro env variable export.astro env variable linklinks a Workspace variable to specific Deployments, with optional per-Deployment value overrides.astro env connectionmanages Airflow connections.astro env airflow-variablemanages Airflow variables.astro env metrics-exportmanages metrics exports.
astro deployment variable and astro deployment connection, which write directly to a single Deployment. To manage the same objects in the Astro UI, see Create environment variables in the Astro UI and Create Airflow connections in the Astro UI.Dag processor and component filters for astro deployment logs
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 createandastro deployment updatenow supports thepodEphemeralStoragefield. astro ottonow surfaces itsupdateandversionsubcommands in--help.
Bug fixes
- Fixed
astro deployto preserve symlinks and honor.dockerignorein the image build context. - Fixed
astro deployto preserve the trailing newline in your.dockerignoreafter building the image. - Fixed
astro deployto skip the Dag-only deploy check on Remote Execution Deployments, which previously blocked custom image deploys to those Deployments. - Fixed
astro dev startstandalone mode to setPYTHONPATHto match the Astro Runtime image. - Fixed
astro dev start--standalonefor Airflow 2 projects whose Dockerfile uses a-slimAstro Runtime image. The CLI now strips the-slimsuffix when fetching constraints, so the command no longer fails with an HTTP 404 error. - Fixed
astro dev startin Docker Compose mode so that bare host-environment passthrough resolves. Previously, anenvironment: [VAR]entry without a value in adocker-compose.override.ymlfile was ignored. - Fixed
astro dev initto add.astro/*.local.ymland.astro/*.local.yamlto.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.jsoneven when the proxy daemon is unavailable, so you can reach local projects by hostname.
May 20, 2026
Bug fixes
- Fixed
astro deploywith--image-nameagainst Deployments that have Dag-only deploys disabled, including Remote Execution Deployments. A regression in 1.42.0 caused these deploys to fail with aDAG-only deploys are not enabled for this Deploymenterror. - Fixed
astro dev startwith the Podman container engine on Windows. Native Podman commands no longer receive an unsupportednpipe://connection value, so local project setup completes successfully.
April 30, 2026
New astro otto command
A new astro otto command launches Otto, 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. Runastro 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 psastro deployment listastro deployment user listastro deployment team listastro workspace listastro workspace user listastro workspace team listastro organization listastro organization user listastro organization team list
--json and --output are mutually exclusive.Faster local environment startup
astro dev start and 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 initandastro dev start --standalonenow 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-urlflag onastro api cloudnow accepts local file paths in addition to HTTP URLs. Supported forms include absolute paths, relative paths, paths starting with~/, andfile://URIs. Local specs are read fresh on every command invocation, and the--spec-token-env-varflag is ignored for local files. astro deployment logswith--log-countnow 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 (
dockerorstandalone) in anonymous telemetry. To opt out of telemetry, runastro telemetry disableor set theASTRO_TELEMETRY_DISABLEDenvironment variable to1.
Bug fixes
- Fixed
astro dev start --standaloneto use your project’splugins/folder forplugins_folder. Previously,plugins_folderdefaulted to.astro/standalone/plugins/, so plugins from your project were not loaded. - Fixed
astro deploywith--image-nameto skip Dockerfile parsing. Projects that build their image in a separate pipeline and reference it through--image-nameno longer fail when noDockerfileis present in the project directory.
April 20, 2026
New astro auth command
A new astro auth command group provides commands for authenticating to Astro or Astro Private Cloud:astro auth login: Authenticate to Astro or Astro Private Cloud. The existingastro logincommand is now an alias for this command.astro auth logout: Log out of the Astro CLI. The existingastro logoutcommand is now an alias for this command.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--domainflag to print the token for a specific context domain.
New astro api registry command
A new 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 toastro dev initto initialize a project without confirmation, even in a non-empty directory. - Added the
-f(--force) flag toastro deployment createto create a Deployment without prompting for confirmation. - Added the
-f(--force) flag toastro organization team update,astro organization team delete, and theastro organization team useraddandremovesubcommands to skip confirmation prompts for Identity Provider (IdP)-managed teams. - The
-f(--force) flag onastro deploynow 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 runto propagate non-zero exit codes from the executed command. - Fixed
astro dev restartwith--allow-existingto preserve the virtual environment in standalone mode. - Fixed
astro dev startin standalone mode to addinclude/toPYTHONPATH. - Standardized error messages for missing required flags across commands.
- Fixed the default image ordering for
astro-agentin Airflow version resolution. - Improved help text with examples and descriptions across commands.
March 12, 2026
Bug fixes
- Fixed the
astro dev pytestcommand to usedocker cpinstead of bind-mounts for copying test files into the container.
March 10, 2026
New astro dev build command
A new 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 command lets you make authenticated API requests to Astronomer services directly from the Astro CLI: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 vialsanddescribe, pagination,jqfilters, Go template output, and a--curlflag to generate equivalentcurlcommands.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 asastro 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:--standalone flag to override for a single command: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 runastro 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. 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 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 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 toastro dev restart. When used, this flag kills all running containers and removes all data before restarting. This is equivalent to runningastro dev killfollowed byastro dev start. - Added the
--fixflag toastro dev upgrade-testto automatically fix linting issues identified by the upgrade test using ruff. - Added the
--no-dags-base-dirflag toastro deployfor use with--dags. By default, Dag-only deploys place files in adags/folder prefix. With--no-dags-base-dir, files are placed at the bundle root for compatibility with Airflow 3, which adds the bundle root tosys.pathinstead of thedags/folder. - Added
--api-serverand--dag-processorcomponent filter flags toastro 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.
February 17, 2026
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-idflag withastro ide project importto specify a session ID when importing an Astro IDE project. astro remote deploynow 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.
November 4, 2025
October 27, 2025
Enable remote execution with astro dev init
You can now create a remote execution project using astro dev init. Setting remote execution mode prompts you to add the resources necessary for configuring your remote execution configuration.Behavior Changes
- Enabled
astro remote deploycommand by default - Deprecated
--force-upgrade-to-af3flag fromastro deploy - Added
--wait-timeflag forastro deployment create,astro deploy,astro dbt deploycommands, to allow you to configure wait time for the operation to finish. The default wait time is now 5 minutes.