Describe the bug
I can reproduce this on windows and ubuntu
I would like to not have to use any workarounds like playing around with python dependency versions or anything if possible
Related command
az aksarc --help
Errors
$ az --version
azure-cli 2.88.0
core 2.88.0
telemetry 1.1.0
Extensions:
aksarc 1.5.113
Python location '/opt/az/bin/python3'
Python (Linux) 3.14.5 (main, Jun 30 2026, 10:53:27) [GCC 12.2.0]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
$ az aksarc --help
The command failed with an unexpected error. Here is the traceback:
cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py)
Traceback (most recent call last):
File "/opt/az/lib/python3.14/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/__init__.py", line 602, in execute
parsed_args = self.parser.parse_args(args)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 278, in parse_args
return super().parse_args(args)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2005, in parse_args
args, argv = self.parse_known_args(args, namespace)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2276, in _parse_known_args
positionals_end_index = consume_positionals(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2251, in consume_positionals
take_action(action, args)
~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1318, in __call__
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2295, in _parse_known_args
start_index = consume_optional(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2219, in consume_optional
take_action(action, args, option_string)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1176, in __call__
parser.print_help()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/argparse.py", line 2752, in print_help
self._print_message(self.format_help(), file)
~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 193, in format_help
super().format_help()
~~~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 265, in format_help
self.cli_help.show_help(self.prog.split()[0],
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
self.prog.split()[1:],
^^^^^^^^^^^^^^^^^^^^^^
self._actions[-1] if is_group else self,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
is_group)
^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 224, in show_help
else self.group_help_cls(self, delimiters, parser)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 253, in __init__
child.load(options)
~~~~~~~~~~^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 523, in load
loader.versioned_load(self, options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help_loaders.py", line 154, in versioned_load
super(CliHelpFile, help_obj).load(parser) # pylint:disable=bad-super-call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 198, in load
description = getattr(options, 'description', None)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 258, in __getattribute__
self.description = self._description() \
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 132, in description_loader
op = self.get_op_handler(self.op_path)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/opt/az/lib/python3.14/importlib/__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1406, in _gcd_import
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 759, in exec_module
File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
File "/home/bacef/.azure/cliextensions/aksarc/azext_aksarc/custom.py", line 136, in <module>
import asyncssh
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/__init__.py", line 31, in <module>
from .agent import SSHAgentClient, SSHAgentKeyPair, connect_agent
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/agent.py", line 33, in <module>
from .public_key import KeyPairListArg, SSHCertificate, SSHKeyPair
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/public_key.py", line 36, in <module>
from .crypto import ed25519_available, ed448_available
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/__init__.py", line 43, in <module>
from .pq import mlkem_available, sntrup_available, PQClass, MLKEM, SNTRUP
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/pq.py", line 28, in <module>
from cryptography.hazmat.primitives.asymmetric import mlkem
ImportError: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py)
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
$
Issue script & Debug output
$ az aksarc --help --debug
cli.knack.cli: Command arguments: ['aksarc', '--help', '--debug']
cli.knack.cli: init debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x78e09cba6da0>, <function OutputProducer.on_global_arguments at 0x78e09cabc0f0>, <function CLIQuery.on_global_arguments at 0x78e09caf6820>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Using packaged command index for profile 'latest'.
cli.azure.cli.core: Found installed extension 'aksarc' (azext_aksarc).
cli.azure.cli.core: Blending packaged core index with local extension index.
cli.azure.cli.core: Modules found from index for 'aksarc': ['azext_aksarc']
cli.azure.cli.core: Loading command modules...
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: Loaded command modules:
cli.azure.cli.core: Total (0) 0.000 0 0
cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name Load Time Groups Commands Directory
cli.azure.cli.core: aksarc 0.136 6 25 /home/bacef/.azure/cliextensions/aksarc
cli.azure.cli.core: Total (1) 0.136 6 25
cli.azure.cli.core: Loaded 6 groups, 25 commands.
cli.azure.cli.core: Found a match in the command group table for 'aksarc'.
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x78e09c868040>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '/home/bacef/.azure/commands/2026-07-15.18-32-49.aksarc.52965.log'.
az_command_data_logger: command args: aksarc --help --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x78e09c881900>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x78e09c8819b0>, <function register_global_policy_argument..add_global_policy_argument at 0x78e09c644b40>, <function register_cache_arguments..add_cache_arguments at 0x78e09c644ca0>, <function register_upcoming_breaking_change_info..update_breaking_change_info at 0x78e09c644d50>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "/opt/az/lib/python3.14/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/init.py", line 602, in execute
parsed_args = self.parser.parse_args(args)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 278, in parse_args
return super().parse_args(args)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2005, in parse_args
args, argv = self.parse_known_args(args, namespace)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2276, in _parse_known_args
positionals_end_index = consume_positionals(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2251, in consume_positionals
take_action(action, args)
~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1318, in call
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2295, in _parse_known_args
start_index = consume_optional(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2219, in consume_optional
take_action(action, args, option_string)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1176, in call
parser.print_help()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/argparse.py", line 2752, in print_help
self._print_message(self.format_help(), file)
~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 193, in format_help
super().format_help()
~~~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 265, in format_help
self.cli_help.show_help(self.prog.split()[0],
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
self.prog.split()[1:],
^^^^^^^^^^^^^^^^^^^^^^
self._actions[-1] if is_group else self,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
is_group)
^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 224, in show_help
else self.group_help_cls(self, delimiters, parser)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 253, in init
child.load(options)
~~~~~~~~~~^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 523, in load
loader.versioned_load(self, options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help_loaders.py", line 154, in versioned_load
super(CliHelpFile, help_obj).load(parser) # pylint:disable=bad-super-call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 198, in load
description = getattr(options, 'description', None)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 258, in getattribute
self.description = self._description()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 132, in description_loader
op = self.get_op_handler(self.op_path)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/opt/az/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/home/bacef/.azure/cliextensions/aksarc/azext_aksarc/custom.py", line 136, in
import asyncssh
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/init.py", line 31, in
from .agent import SSHAgentClient, SSHAgentKeyPair, connect_agent
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/agent.py", line 33, in
from .public_key import KeyPairListArg, SSHCertificate, SSHKeyPair
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/public_key.py", line 36, in
from .crypto import ed25519_available, ed448_available
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/init.py", line 43, in
from .pq import mlkem_available, sntrup_available, PQClass, MLKEM, SNTRUP
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/pq.py", line 28, in
from cryptography.hazmat.primitives.asymmetric import mlkem
ImportError: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
cli.azure.cli.core.azclierror: The command failed with an unexpected error. Here is the traceback:
az_command_data_logger: The command failed with an unexpected error. Here is the traceback:
cli.azure.cli.core.azclierror: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
Traceback (most recent call last):
File "/opt/az/lib/python3.14/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/init.py", line 602, in execute
parsed_args = self.parser.parse_args(args)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 278, in parse_args
return super().parse_args(args)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2005, in parse_args
args, argv = self.parse_known_args(args, namespace)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2276, in _parse_known_args
positionals_end_index = consume_positionals(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2251, in consume_positionals
take_action(action, args)
~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1318, in call
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2295, in _parse_known_args
start_index = consume_optional(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2219, in consume_optional
take_action(action, args, option_string)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1176, in call
parser.print_help()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/argparse.py", line 2752, in print_help
self._print_message(self.format_help(), file)
~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 193, in format_help
super().format_help()
~~~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 265, in format_help
self.cli_help.show_help(self.prog.split()[0],
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
self.prog.split()[1:],
^^^^^^^^^^^^^^^^^^^^^^
self._actions[-1] if is_group else self,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
is_group)
^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 224, in show_help
else self.group_help_cls(self, delimiters, parser)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 253, in init
child.load(options)
~~~~~~~~~~^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 523, in load
loader.versioned_load(self, options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help_loaders.py", line 154, in versioned_load
super(CliHelpFile, help_obj).load(parser) # pylint:disable=bad-super-call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 198, in load
description = getattr(options, 'description', None)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 258, in getattribute
self.description = self._description()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 132, in description_loader
op = self.get_op_handler(self.op_path)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/opt/az/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/home/bacef/.azure/cliextensions/aksarc/azext_aksarc/custom.py", line 136, in
import asyncssh
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/init.py", line 31, in
from .agent import SSHAgentClient, SSHAgentKeyPair, connect_agent
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/agent.py", line 33, in
from .public_key import KeyPairListArg, SSHCertificate, SSHKeyPair
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/public_key.py", line 36, in
from .crypto import ed25519_available, ed448_available
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/init.py", line 43, in
from .pq import mlkem_available, sntrup_available, PQClass, MLKEM, SNTRUP
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/pq.py", line 28, in
from cryptography.hazmat.primitives.asymmetric import mlkem
ImportError: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
az_command_data_logger: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
Traceback (most recent call last):
File "/opt/az/lib/python3.14/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/init.py", line 602, in execute
parsed_args = self.parser.parse_args(args)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 278, in parse_args
return super().parse_args(args)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2005, in parse_args
args, argv = self.parse_known_args(args, namespace)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2276, in _parse_known_args
positionals_end_index = consume_positionals(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2251, in consume_positionals
take_action(action, args)
~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1318, in call
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2295, in _parse_known_args
start_index = consume_optional(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2219, in consume_optional
take_action(action, args, option_string)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1176, in call
parser.print_help()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/argparse.py", line 2752, in print_help
self._print_message(self.format_help(), file)
~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 193, in format_help
super().format_help()
~~~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 265, in format_help
self.cli_help.show_help(self.prog.split()[0],
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
self.prog.split()[1:],
^^^^^^^^^^^^^^^^^^^^^^
self._actions[-1] if is_group else self,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
is_group)
^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 224, in show_help
else self.group_help_cls(self, delimiters, parser)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 253, in init
child.load(options)
~~~~~~~~~~^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 523, in load
loader.versioned_load(self, options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help_loaders.py", line 154, in versioned_load
super(CliHelpFile, help_obj).load(parser) # pylint:disable=bad-super-call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 198, in load
description = getattr(options, 'description', None)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 258, in getattribute
self.description = self._description()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 132, in description_loader
op = self.get_op_handler(self.op_path)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/opt/az/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/home/bacef/.azure/cliextensions/aksarc/azext_aksarc/custom.py", line 136, in
import asyncssh
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/init.py", line 31, in
from .agent import SSHAgentClient, SSHAgentKeyPair, connect_agent
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/agent.py", line 33, in
from .public_key import KeyPairListArg, SSHCertificate, SSHKeyPair
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/public_key.py", line 36, in
from .crypto import ed25519_available, ed448_available
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/init.py", line 43, in
from .pq import mlkem_available, sntrup_available, PQClass, MLKEM, SNTRUP
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/pq.py", line 28, in
from cryptography.hazmat.primitives.asymmetric import mlkem
ImportError: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x78e09c868300>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 0.494 seconds (init: 0.051, invoke: 0.442)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 8168 in cache file under /home/bacef/.azure/telemetry/20260715183249938
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/opt/az/bin/python3 /opt/az/lib/python3.14/site-packages/azure/cli/telemetry/init.py /home/bacef/.azure /home/bacef/.azure/telemetry/20260715183249938"
telemetry.process: Return from creating process 52983
telemetry.main: Finish creating telemetry upload process.
Expected behavior
should show the help message of aksarc
Environment Summary
Shown in the errors box, but this does not seem dependent on environment
Additional context
No response
Describe the bug
I can reproduce this on windows and ubuntu
I would like to not have to use any workarounds like playing around with python dependency versions or anything if possible
Related command
az aksarc --help
Errors
Issue script & Debug output
$ az aksarc --help --debug
cli.knack.cli: Command arguments: ['aksarc', '--help', '--debug']
cli.knack.cli: init debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x78e09cba6da0>, <function OutputProducer.on_global_arguments at 0x78e09cabc0f0>, <function CLIQuery.on_global_arguments at 0x78e09caf6820>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Using packaged command index for profile 'latest'.
cli.azure.cli.core: Found installed extension 'aksarc' (azext_aksarc).
cli.azure.cli.core: Blending packaged core index with local extension index.
cli.azure.cli.core: Modules found from index for 'aksarc': ['azext_aksarc']
cli.azure.cli.core: Loading command modules...
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: Loaded command modules:
cli.azure.cli.core: Total (0) 0.000 0 0
cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name Load Time Groups Commands Directory
cli.azure.cli.core: aksarc 0.136 6 25 /home/bacef/.azure/cliextensions/aksarc
cli.azure.cli.core: Total (1) 0.136 6 25
cli.azure.cli.core: Loaded 6 groups, 25 commands.
cli.azure.cli.core: Found a match in the command group table for 'aksarc'.
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x78e09c868040>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '/home/bacef/.azure/commands/2026-07-15.18-32-49.aksarc.52965.log'.
az_command_data_logger: command args: aksarc --help --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x78e09c881900>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x78e09c8819b0>, <function register_global_policy_argument..add_global_policy_argument at 0x78e09c644b40>, <function register_cache_arguments..add_cache_arguments at 0x78e09c644ca0>, <function register_upcoming_breaking_change_info..update_breaking_change_info at 0x78e09c644d50>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "/opt/az/lib/python3.14/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/init.py", line 602, in execute
parsed_args = self.parser.parse_args(args)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 278, in parse_args
return super().parse_args(args)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2005, in parse_args
args, argv = self.parse_known_args(args, namespace)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2276, in _parse_known_args
positionals_end_index = consume_positionals(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2251, in consume_positionals
take_action(action, args)
~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1318, in call
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2295, in _parse_known_args
start_index = consume_optional(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2219, in consume_optional
take_action(action, args, option_string)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1176, in call
parser.print_help()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/argparse.py", line 2752, in print_help
self._print_message(self.format_help(), file)
~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 193, in format_help
super().format_help()
~~~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 265, in format_help
self.cli_help.show_help(self.prog.split()[0],
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
self.prog.split()[1:],
^^^^^^^^^^^^^^^^^^^^^^
self._actions[-1] if is_group else self,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
is_group)
^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 224, in show_help
else self.group_help_cls(self, delimiters, parser)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 253, in init
child.load(options)
~~~~~~~~~~^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 523, in load
loader.versioned_load(self, options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help_loaders.py", line 154, in versioned_load
super(CliHelpFile, help_obj).load(parser) # pylint:disable=bad-super-call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 198, in load
description = getattr(options, 'description', None)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 258, in getattribute
self.description = self._description()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 132, in description_loader
op = self.get_op_handler(self.op_path)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/opt/az/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/home/bacef/.azure/cliextensions/aksarc/azext_aksarc/custom.py", line 136, in
import asyncssh
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/init.py", line 31, in
from .agent import SSHAgentClient, SSHAgentKeyPair, connect_agent
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/agent.py", line 33, in
from .public_key import KeyPairListArg, SSHCertificate, SSHKeyPair
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/public_key.py", line 36, in
from .crypto import ed25519_available, ed448_available
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/init.py", line 43, in
from .pq import mlkem_available, sntrup_available, PQClass, MLKEM, SNTRUP
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/pq.py", line 28, in
from cryptography.hazmat.primitives.asymmetric import mlkem
ImportError: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
cli.azure.cli.core.azclierror: The command failed with an unexpected error. Here is the traceback:
az_command_data_logger: The command failed with an unexpected error. Here is the traceback:
cli.azure.cli.core.azclierror: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
Traceback (most recent call last):
File "/opt/az/lib/python3.14/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/init.py", line 602, in execute
parsed_args = self.parser.parse_args(args)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 278, in parse_args
return super().parse_args(args)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2005, in parse_args
args, argv = self.parse_known_args(args, namespace)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2276, in _parse_known_args
positionals_end_index = consume_positionals(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2251, in consume_positionals
take_action(action, args)
~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1318, in call
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2295, in _parse_known_args
start_index = consume_optional(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2219, in consume_optional
take_action(action, args, option_string)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1176, in call
parser.print_help()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/argparse.py", line 2752, in print_help
self._print_message(self.format_help(), file)
~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 193, in format_help
super().format_help()
~~~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 265, in format_help
self.cli_help.show_help(self.prog.split()[0],
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
self.prog.split()[1:],
^^^^^^^^^^^^^^^^^^^^^^
self._actions[-1] if is_group else self,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
is_group)
^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 224, in show_help
else self.group_help_cls(self, delimiters, parser)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 253, in init
child.load(options)
~~~~~~~~~~^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 523, in load
loader.versioned_load(self, options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help_loaders.py", line 154, in versioned_load
super(CliHelpFile, help_obj).load(parser) # pylint:disable=bad-super-call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 198, in load
description = getattr(options, 'description', None)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 258, in getattribute
self.description = self._description()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 132, in description_loader
op = self.get_op_handler(self.op_path)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/opt/az/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/home/bacef/.azure/cliextensions/aksarc/azext_aksarc/custom.py", line 136, in
import asyncssh
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/init.py", line 31, in
from .agent import SSHAgentClient, SSHAgentKeyPair, connect_agent
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/agent.py", line 33, in
from .public_key import KeyPairListArg, SSHCertificate, SSHKeyPair
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/public_key.py", line 36, in
from .crypto import ed25519_available, ed448_available
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/init.py", line 43, in
from .pq import mlkem_available, sntrup_available, PQClass, MLKEM, SNTRUP
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/pq.py", line 28, in
from cryptography.hazmat.primitives.asymmetric import mlkem
ImportError: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
az_command_data_logger: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
Traceback (most recent call last):
File "/opt/az/lib/python3.14/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/init.py", line 602, in execute
parsed_args = self.parser.parse_args(args)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 278, in parse_args
return super().parse_args(args)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2005, in parse_args
args, argv = self.parse_known_args(args, namespace)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2276, in _parse_known_args
positionals_end_index = consume_positionals(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2251, in consume_positionals
take_action(action, args)
~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1318, in call
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 282, in parse_known_args
self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2015, in parse_known_args
return self._parse_known_args2(args, namespace, intermixed=False)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2044, in _parse_known_args2
namespace, args = self._parse_known_args(args, namespace, intermixed)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2295, in _parse_known_args
start_index = consume_optional(start_index)
File "/opt/az/lib/python3.14/argparse.py", line 2219, in consume_optional
take_action(action, args, option_string)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 2120, in take_action
action(self, namespace, argument_values, option_string)
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/argparse.py", line 1176, in call
parser.print_help()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/argparse.py", line 2752, in print_help
self._print_message(self.format_help(), file)
~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/parser.py", line 193, in format_help
super().format_help()
~~~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 265, in format_help
self.cli_help.show_help(self.prog.split()[0],
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
self.prog.split()[1:],
^^^^^^^^^^^^^^^^^^^^^^
self._actions[-1] if is_group else self,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
is_group)
^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 224, in show_help
else self.group_help_cls(self, delimiters, parser)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 253, in init
child.load(options)
~~~~~~~~~~^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help.py", line 523, in load
loader.versioned_load(self, options)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/_help_loaders.py", line 154, in versioned_load
super(CliHelpFile, help_obj).load(parser) # pylint:disable=bad-super-call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/opt/az/lib/python3.14/site-packages/knack/help.py", line 198, in load
description = getattr(options, 'description', None)
File "/opt/az/lib/python3.14/site-packages/knack/parser.py", line 258, in getattribute
self.description = self._description()
~~~~~~~~~~~~~~~~~^^
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 132, in description_loader
op = self.get_op_handler(self.op_path)
File "/opt/az/lib/python3.14/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/opt/az/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/home/bacef/.azure/cliextensions/aksarc/azext_aksarc/custom.py", line 136, in
import asyncssh
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/init.py", line 31, in
from .agent import SSHAgentClient, SSHAgentKeyPair, connect_agent
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/agent.py", line 33, in
from .public_key import KeyPairListArg, SSHCertificate, SSHKeyPair
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/public_key.py", line 36, in
from .crypto import ed25519_available, ed448_available
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/init.py", line 43, in
from .pq import mlkem_available, sntrup_available, PQClass, MLKEM, SNTRUP
File "/home/bacef/.azure/cliextensions/aksarc/asyncssh/crypto/pq.py", line 28, in
from cryptography.hazmat.primitives.asymmetric import mlkem
ImportError: cannot import name 'mlkem' from 'cryptography.hazmat.primitives.asymmetric' (/opt/az/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/init.py)
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x78e09c868300>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 0.494 seconds (init: 0.051, invoke: 0.442)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 8168 in cache file under /home/bacef/.azure/telemetry/20260715183249938
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/opt/az/bin/python3 /opt/az/lib/python3.14/site-packages/azure/cli/telemetry/init.py /home/bacef/.azure /home/bacef/.azure/telemetry/20260715183249938"
telemetry.process: Return from creating process 52983
telemetry.main: Finish creating telemetry upload process.
Expected behavior
should show the help message of aksarc
Environment Summary
Shown in the errors box, but this does not seem dependent on environment
Additional context
No response