diff --git a/src/accelerate/commands/accelerate_cli.py b/src/accelerate/commands/accelerate_cli.py
index e73ccd74c..6300c7c1d 100644
--- a/src/accelerate/commands/accelerate_cli.py
+++ b/src/accelerate/commands/accelerate_cli.py
@@ -17,6 +17,7 @@
 from argparse import ArgumentParser
 
 from accelerate.commands.config import config_command_parser
+from accelerate.commands.env import env_command_parser
 from accelerate.commands.launch import launch_command_parser
 from accelerate.commands.test import test_command_parser
 
@@ -29,6 +30,7 @@ def main():
     config_command_parser(subparsers=subparsers)
     launch_command_parser(subparsers=subparsers)
     test_command_parser(subparsers=subparsers)
+    env_command_parser(subparsers=subparsers)
 
     # Let's go
     args = parser.parse_args()
diff --git a/src/accelerate/commands/env.py b/src/accelerate/commands/env.py
new file mode 100644
index 000000000..b66008e1b
--- /dev/null
+++ b/src/accelerate/commands/env.py
@@ -0,0 +1,68 @@
+import argparse
+import os
+import platform
+
+import numpy as np
+import torch
+
+from accelerate import __version__ as version
+from accelerate.commands.config import default_config_file, load_config_from_file
+
+
+def env_command_parser(subparsers=None):
+    if subparsers is not None:
+        parser = subparsers.add_parser("env")
+    else:
+        parser = argparse.ArgumentParser("Accelerate env command")
+
+    parser.add_argument(
+        "--config_file", default=None, help="The config file to use for the default values in the launching script."
+    )
+
+    if subparsers is not None:
+        parser.set_defaults(func=env_command)
+    return parser
+
+
+def env_command(args):
+    pt_version = torch.__version__
+    pt_cuda_available = torch.cuda.is_available()
+
+    accelerate_config = "Not found"
+    # Get the default from the config file.
+    if args.config_file is not None or os.path.isfile(default_config_file):
+        accelerate_config = load_config_from_file(args.config_file).to_dict()
+
+    info = {
+        "`Accelerate` version": version,
+        "Platform": platform.platform(),
+        "Python version": platform.python_version(),
+        "Numpy version": np.__version__,
+        "PyTorch version (GPU?)": f"{pt_version} ({pt_cuda_available})",
+    }
+
+    print("\nCopy-and-paste the text below in your GitHub issue\n")
+    print("\n".join([f"- {prop}: {val}" for prop, val in info.items()]))
+
+    print("- `Accelerate` default config:" if args.config_file is None else "- `Accelerate` config passed:")
+    accelerate_config_str = (
+        "\n".join([f"\t- {prop}: {val}" for prop, val in accelerate_config.items()])
+        if isinstance(accelerate_config, dict)
+        else f"\t{accelerate_config}"
+    )
+    print(accelerate_config_str)
+
+    info["`Accelerate` configs"] = accelerate_config
+
+    return info
+
+
+def main() -> int:
+    parser = env_command_parser()
+    args = parser.parse_args()
+    env_command(args)
+    return 0
+
+
+if __name__ == "__main__":
+    raise SystemExit(main())


Review comments: body: Note that the command submodules will import `accelerate.state` (via the lancuh command) so the code will fail if PyTorch is not installed anyway (which shouldn't be the case since it's a dependency).

I'd remove that import and the test below that uses it.
diff_hunk: @@ -0,0 +1,51 @@
+import argparse
+import platform
+
+import numpy as np
+
+from accelerate import __version__ as version
+from accelerate.file_utils import is_torch_available
body: Maybe we could add the content of the default config to this info? It can be done in a followup PR if you don't have time to add it right now.
diff_hunk: @@ -0,0 +1,51 @@
+import argparse
+import platform
+
+import numpy as np
+
+from accelerate import __version__ as version
+from accelerate.file_utils import is_torch_available
+
+
+def env_command_parser(subparsers=None):
+    if subparsers is not None:
+        parser = subparsers.add_parser("env")
+    else:
+        parser = argparse.ArgumentParser("Accelerate env command")
+
+    if subparsers is not None:
+        parser.set_defaults(func=env_command)
+    return parser
+
+
+def env_command(args):
+    pt_version = "not installed"
+    pt_cuda_available = "NA"
+    if is_torch_available():
+        import torch
+
+        pt_version = torch.__version__
+        pt_cuda_available = torch.cuda.is_available()
+
+    info = {
+        "`accelerate` version": version,
+        "Platform": platform.platform(),
+        "Python version": platform.python_version(),
+        "Numpy version": np.__version__,
+        "PyTorch version (GPU?)": f"{pt_version} ({pt_cuda_available})",
+    }
body: As discussed above, not need to add that new file.
diff_hunk: @@ -0,0 +1,19 @@
+import importlib.util
body: This shouldn't be necessary either
diff_hunk: @@ -30,6 +31,14 @@
 from .state import AcceleratorState, DistributedType, is_deepspeed_available, is_tpu_available
 
 
+# The package importlib_metadata is in a different place, depending on the python version.
+if sys.version_info < (3, 8):
+    import importlib_metadata  # noqa: F401
+
+else:
+    import importlib.metadata as importlib_metadata  # noqa: F401
body: I don't understand, default config for what?
diff_hunk: @@ -0,0 +1,51 @@
+import argparse
+import platform
+
+import numpy as np
+
+from accelerate import __version__ as version
+from accelerate.file_utils import is_torch_available
+
+
+def env_command_parser(subparsers=None):
+    if subparsers is not None:
+        parser = subparsers.add_parser("env")
+    else:
+        parser = argparse.ArgumentParser("Accelerate env command")
+
+    if subparsers is not None:
+        parser.set_defaults(func=env_command)
+    return parser
+
+
+def env_command(args):
+    pt_version = "not installed"
+    pt_cuda_available = "NA"
+    if is_torch_available():
+        import torch
+
+        pt_version = torch.__version__
+        pt_cuda_available = torch.cuda.is_available()
+
+    info = {
+        "`accelerate` version": version,
+        "Platform": platform.platform(),
+        "Python version": platform.python_version(),
+        "Numpy version": np.__version__,
+        "PyTorch version (GPU?)": f"{pt_version} ({pt_cuda_available})",
+    }
body: The default config of Accelerate in `default_config.yaml`
diff_hunk: @@ -0,0 +1,51 @@
+import argparse
+import platform
+
+import numpy as np
+
+from accelerate import __version__ as version
+from accelerate.file_utils import is_torch_available
+
+
+def env_command_parser(subparsers=None):
+    if subparsers is not None:
+        parser = subparsers.add_parser("env")
+    else:
+        parser = argparse.ArgumentParser("Accelerate env command")
+
+    if subparsers is not None:
+        parser.set_defaults(func=env_command)
+    return parser
+
+
+def env_command(args):
+    pt_version = "not installed"
+    pt_cuda_available = "NA"
+    if is_torch_available():
+        import torch
+
+        pt_version = torch.__version__
+        pt_cuda_available = torch.cuda.is_available()
+
+    info = {
+        "`accelerate` version": version,
+        "Platform": platform.platform(),
+        "Python version": platform.python_version(),
+        "Numpy version": np.__version__,
+        "PyTorch version (GPU?)": f"{pt_version} ({pt_cuda_available})",
+    }
body: Okay, got it, I'll add this
diff_hunk: @@ -0,0 +1,51 @@
+import argparse
+import platform
+
+import numpy as np
+
+from accelerate import __version__ as version
+from accelerate.file_utils import is_torch_available
+
+
+def env_command_parser(subparsers=None):
+    if subparsers is not None:
+        parser = subparsers.add_parser("env")
+    else:
+        parser = argparse.ArgumentParser("Accelerate env command")
+
+    if subparsers is not None:
+        parser.set_defaults(func=env_command)
+    return parser
+
+
+def env_command(args):
+    pt_version = "not installed"
+    pt_cuda_available = "NA"
+    if is_torch_available():
+        import torch
+
+        pt_version = torch.__version__
+        pt_cuda_available = torch.cuda.is_available()
+
+    info = {
+        "`accelerate` version": version,
+        "Platform": platform.platform(),
+        "Python version": platform.python_version(),
+        "Numpy version": np.__version__,
+        "PyTorch version (GPU?)": f"{pt_version} ({pt_cuda_available})",
+    }
body: ```suggestion
    print("- `Accelerate` default config:" if args.config_file is None else "- `Accelerate` config passed:")
```
Let's just put a different print depending on whether we have the default config or a custom one.
diff_hunk: @@ -0,0 +1,68 @@
+import argparse
+import os
+import platform
+
+import numpy as np
+import torch
+
+from accelerate import __version__ as version
+from accelerate.commands.config import default_config_file, load_config_from_file
+
+
+def env_command_parser(subparsers=None):
+    if subparsers is not None:
+        parser = subparsers.add_parser("env")
+    else:
+        parser = argparse.ArgumentParser("Accelerate env command")
+
+    parser.add_argument(
+        "--config_file", default=None, help="The config file to use for the default values in the launching script."
+    )
+
+    if subparsers is not None:
+        parser.set_defaults(func=env_command)
+    return parser
+
+
+def env_command(args):
+    pt_version = torch.__version__
+    pt_cuda_available = torch.cuda.is_available()
+
+    accelerate_config = "Not found"
+    # Get the default from the config file.
+    if args.config_file is not None or os.path.isfile(default_config_file):
+        accelerate_config = load_config_from_file(args.config_file).to_dict()
+
+    info = {
+        "`Accelerate` version": version,
+        "Platform": platform.platform(),
+        "Python version": platform.python_version(),
+        "Numpy version": np.__version__,
+        "PyTorch version (GPU?)": f"{pt_version} ({pt_cuda_available})",
+    }
+
+    print("\nCopy-and-paste the text below in your GitHub issue\n")
+    print("\n".join([f"- {prop}: {val}" for prop, val in info.items()]))
+
+    print("- `Accelerate` configs:")