---
name: "arch-chroot"
section: "8"
platform: "linux"
package: "arch-install-scripts"
version: "32-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/arch-chroot/8"
---

# arch-chroot(8)

enhanced chroot command

## NAME

arch-chroot - enhanced chroot command

## SYNOPSIS

arch-chroot \[options\] chroot-dir \[command\] \[arguments...\]

## DESCRIPTION

arch-chroot wraps the [**chroot**(1)](/chroot/1.md) command while ensuring that important functionality is available, e.g. mounting */dev/*, */proc* and other API filesystems, or exposing [**resolv.conf**(5)](/resolv.conf/5.md) to the chroot.

If *command* is unspecified, arch-chroot will launch **/bin/bash**.

**Note**\

The target chroot-dir **should** be a mountpoint. This ensures that tools such as [**pacman**(8)](/pacman/8.md) or [**findmnt**(8)](/findmnt/8.md) have an accurate hierarchy of the mounted filesystems within the chroot. If your chroot target is not a mountpoint, you can bind mount the directory on itself to make it a mountpoint, i.e.:

*mount --bind /your/chroot /your/chroot*

## OPTIONS

- **-S**

  Run in systemd mode. This will spawn a transient systemd service via [**systemd-run**(1)](/systemd-run/1.md) and delegates namespace/chroot management to the service manager.

- **-N**

  Run in unshare mode. This will use [**unshare**(1)](/unshare/1.md) to create a new mount and user namespace, allowing regular users to create new system installations.

- **-u \<user\>\[:group\]**

  Specify non-root user and optional group to use.

- **-r**

  Do not change the resolv.conf within the chroot. This means that the resolver might not work in the chroot, which could be the required state.

- **-h**

  Output syntax and command line options.

## SEE ALSO

[**pacman**(8)](/pacman/8.md)
