Skip to content

Failed to create cache directory when running yazi with sudo -E -s #4166

Description

@boydaihungst

What system are you running Yazi on?

Linux Wayland

What terminal are you running Yazi in?

kitty 0.48.1

ya env output

Yazi
    Version: 26.5.6 (e7fa4d2 2026-07-26)
    Debug  : false
    Triple : x86_64-unknown-linux-gnu (linux-x86_64)
    Rustc  : 1.97.1 (8bab26f4 2026-07-14)
    Backtrace: None

Ya
    Version: 26.5.6 (e7fa4d2 2026-07-26)
    Debug  : false
    Triple : x86_64-unknown-linux-gnu (linux-x86_64)
    Rustc  : 1.97.1 (8bab26f4 2026-07-14)

Config
    Init             : /home/huyhoang/.config/yazi/init.lua (11080 chars)
    Yazi             : /home/huyhoang/.config/yazi/yazi.toml (16269 chars)
    Keymap           : /home/huyhoang/.config/yazi/keymap.toml (35726 chars)
    Theme            : /home/huyhoang/.config/yazi/theme.toml (5468 chars)
    VFS              : /home/huyhoang/.config/yazi/vfs.toml (279 chars)
    Package          : /home/huyhoang/.config/yazi/package.toml (2300 chars)
    Dark/light flavor: ArcSwapAny("") / ArcSwapAny("")

Emulator
    TERM                : Some("xterm-kitty")
    TERM_PROGRAM        : None
    TERM_PROGRAM_VERSION: None
    Brand.from_env      : Some(Kitty)
    Emulator.detect     : Emulator { kind: Left(Kitty), version: "kitty(0.48.1)", light: false, csi_16t: (13, 25), force_16t: false }

Adapter
    Adapter.matches    : Kgp
    Dimension.available: Dimension { cols: 93, rows: 53, width: 1209, height: 1325 }

Desktop
    XDG_SESSION_TYPE           : Some("wayland")
    WAYLAND_DISPLAY            : Some("wayland-1")
    DISPLAY                    : Some(":0")
    NIRI_SOCKET                : None
    SWAYSOCK                   : None
    HYPRLAND_INSTANCE_SIGNATURE: Some("36b2e0cfe0c6094dbc47bd42a437431315bb3087_1785064815_1845077186")
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    WSL: false

Variables
    SHELL              : Some("/bin/fish")
    EDITOR             : Some("nvim")
    VISUAL             : Some("nvim")
    YAZI_FILE_ONE      : None
    YAZI_CONFIG_HOME   : None
    YAZI_ZOXIDE_OPTS   : None
    SSH_AUTH_SOCK      : Some("/run/user/1000/gnupg/S.gpg-agent.ssh")
    FZF_DEFAULT_OPTS   : None
    FZF_DEFAULT_COMMAND: None

Text Opener
    default     : Some(OpenerRuleArc(OpenerRule { id: Id(35), run: NonEmptyString("kitty --app-id \"nvim\" -- nvim %s"), block: false, orphan: true, desc: "Nvim", for: Linux, spread: true }))
    block-create: None
    block-rename: Some(OpenerRuleArc(OpenerRule { id: Id(29), run: NonEmptyString("nvim %s"), block: true, orphan: false, desc: "", for: All, spread: true }))

Multiplexers
    TMUX               : false
    tmux version       : tmux 3.7b
    tmux build flags   : enable-sixel=Supported
    ZELLIJ_SESSION_NAME: None
    Zellij version     : No such file or directory (os error 2)

Dependencies
    file          : 5.46
    ueberzugpp    : 2.9.10
    ffmpeg/ffprobe: 8.1.2 / 8.1.2
    pdftoppm      : 26.01.0
    magick        : 7.1.2-27
    fzf           : 0.74.0
    fd/fdfind     : 10.4.2 / No such file or directory (os error 2)
    rg            : 14.1.1
    chafa         : No such file or directory (os error 2)
    zoxide        : 0.9.8
    7zz/7z        : No such file or directory (os error 2) / 26.02
    resvg         : 0.47.0
    jq            : 1.8.1

Clipboard
    wl-copy/paste: 2.2.1 / 2.2.1
    xclip        : No such file or directory (os error 2)
    xsel         : 1.2.1

Routine
    `file -bL --mime-type`: text/plain

Describe the bug

If I set cache_dir = "~/.cache/yazi/" in yazi.toml file, and run yazi with sudo -E -s yazi command, this error is threw:

Failed to parse config "/home/huyhoang/.config/yazi/yazi.toml"

Caused by:
Failed to create cache directory: /home/huyhoang/.cache/yazi


Press <Enter> to continue with preset settings...

That cache folder is already created by normal yazi command before:

❯ ll /home/huyhoang/.cache/yazi
total 664K
drwx------. 1 huyhoang huyhoang  224 Jul 26 22:27 ./
drwxr-xr-x. 1 huyhoang huyhoang  936 Jul 26 22:24 ../
-rw-r--r--. 1 huyhoang huyhoang 160K Jul 26 22:27 HCAU6QGZN7IUQBPGOKJGM4ZH7U
-rw-r--r--. 1 huyhoang huyhoang 170K Jul 26 22:27 WMZGM5FECAG6DYUFHTHQCWPDBQ

Minimal reproducer

Prerequisites:
Edit sudo config file with command sudo visudo:

  • Comment: # Defaults always_set_home -> prevent set $HOME to /root
  • Uncomment: Defaults env_keep += "HOME" -> keep using $HOME from /home/huyhoang instead of /root
  • Reset after that or wait for previous sudo command timeout
  • Set cache_dir = "~/.cache/yazi/" in yazi.toml file

Step 1: Start normal yazi with command: yazi to create initial cache folder: /home/huyhoang/.cache/yazi
Step 2: Start yazi with command: sudo -E -s yazi. The error shows up.

Anything else?

These are output of sudo env:

DEBUGINFOD_URLS=ima:enforcing https://debuginfod.fedoraproject.org/ ima:ignore
WLR_RENDERER=vulkan
XDG_CONFIG_DIRS=/etc/xdg
HISTSIZE=1000
SUDO_TTY=/dev/pts/1
PATH=/home/huyhoang/.asdf/shims:/usr/lib/safe-rm:/home/huyhoang/n/bin:/usr/local/bin:/home/huyhoang/.yarn/bin:/home/huyhoang/.config/yarn/global/node_modules/.bin:/home/huyhoang/.local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin:/home/huyhoang/bin:/home/huyhoang/.cargo/bin:/home/huyhoang/go/bin:/home/huyhoang/.dotnet/tools
TERM=xterm-kitty
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/wayland-wm@hyprland.desktop.service/memory.pressure
COLORTERM=truecolor
XDG_VIDEOS_DIR=/home/huyhoang/Videos
CCACHE_MAXSIZE=50G
LOGNAME=root
ABBR_TIPS_PROMPT=\n💡 \e[1m{{ .abbr }}\e[0m => {{ .cmd }}
XDG_MENU_PREFIX=hyprland-
ENABLE_HDR_WSI=1
SYSTEMD_EXEC_PID=2370
SUDO_GID=1000
DESKTOP_SESSION=hyprland-uwsm
_JAVA_AWT_WM_NONREPARENTING=1
KITTY_INSTALLATION_DIR=/usr/lib64/kitty
MPD_HOST=/home/huyhoang/.config/mpd/socket
XDG_VTNR=2
XDG_BACKEND=wayland
KITTY_LISTEN_ON=unix:/tmp/kitty-212010
ELECTRON_OZONE_PLATFORM_HINT=wayland
HL_INITIAL_WORKSPACE_TOKEN=2e244c16-f911-4cf9-94f2-52a9e56c01e6
NOTIFY_SOCKET=/run/user/1000/systemd/notify
XDG_PICTURES_DIR=/home/huyhoang/Pictures
INVOCATION_ID=f9eec5da037d45199574024912455b3a
XDG_DESKTOP_DIR=/home/huyhoang/Desktop
XDG_SESSION_ID=3
QT4_IM_MODULE=fcitx
MOZ_GMP_PATH=/usr/lib64/mozilla/plugins/gmp-gmpopenh264/system-installed
XDG_RUNTIME_DIR=/run/user/1000
XDG_CONFIG_HOME=/home/huyhoang/.config
XDG_SESSION_CLASS=user
XDG_PUBLICSHARE_DIR=/home/huyhoang/Share
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
OZONE_PLATFORM=wayland
GPG_TTY=not a tty
DOCKER_HOST=unix:///run/user/1000/docker.sock
GTK_IM_MODULE=fcitx
KITTY_PUBLIC_KEY=1:QWhMe!$Rx6NPZK@e16LsNx%u?V;R>UMqSY|Kxy<{
HYPRCURSOR_THEME=Qogir-cursors
ABBR_TIPS_REGEXES=(^(\w+\s+)+(-{1,2})\w+)(\s\S+) (^(\s?(\w-?)+){3}).* (^(\s?(\w-?)+){2}).* (^(\s?(\w-?)+){1}).*
UWSM_WAIT_VARNAMES=HYPRLAND_INSTANCE_SIGNATURE
HYPRCURSOR_SIZE=24
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
VISUAL=nvim
XDG_SEAT=seat0
USER=root
JAVA_HOME=
GLFW_IM_MODULE=fcitx
MANAGERPID=1902
AQ_DRM_DEVICES=/dev/dri/amd-igpu:/dev/dri/nvidia-egpu
__ABBR_TIPS_KEYS=a__cp a__mv a__ssh a__sudo a__z a__zi
QT_IM_MODULE=fcitx
KITTY_WINDOW_ID=1
XDG_CACHE_HOME=/home/huyhoang/.cache
GDK_DEBUG=portals
XDG_STATE_HOME=/home/huyhoang/.local/state
XDG_MUSIC_DIR=/home/huyhoang/Music
MOZ_USE_XINPUT2=1
GTK_USE_PORTAL=1
XDG_CURRENT_DESKTOP=Hyprland
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
XDG_DOWNLOAD_DIR=/home/huyhoang/Downloads
__ABBR_TIPS_VALUES=/usr/local/bin/advcp -g /usr/local/bin/advmv -g kitten ssh sudo -E -s __zoxide_z __zoxide_zi
INPUT_METHOD=fcitx
XDG_DATA_DIRS=/home/huyhoang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_DOCUMENTS_DIR=/home/huyhoang/Documents
SUDO_UID=1000
HISTCONTROL=ignoredups
DISPLAY=:0
MAIL=/var/spool/mail/huyhoang
XCURSOR_SIZE=24
SUDO_HOME=/home/huyhoang
npm_config_prefix=/home/huyhoang/.local
STARSHIP_SESSION_KEY=1716727399998304
SHELL=/bin/fish
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
SUDO_USER=huyhoang
CCACHE_COMPRESS=1
XDG_DATA_HOME=/home/huyhoang/.local/share
UWSM_FINALIZE_VARNAMES=HYPRLAND_INSTANCE_SIGNATURE HYPRLAND_CMD HYPRCURSOR_THEME HYPRCURSOR_SIZE XCURSOR_SIZE XCURSOR_THEME
XDG_SESSION_TYPE=wayland
PWD=/home/huyhoang
EDITOR=nvim
LESSOPEN=||/usr/bin/lesspipe.sh %s
HOSTNAME=fedora
SDL_IM_MODULE=fcitx
XDG_TEMPLATES_DIR=/home/huyhoang/
LANG=en_US.UTF-8
MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
HOME=/home/huyhoang
DEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima:
HYPRLAND_CMD=Hyprland --watchdog-fd 4
STARSHIP_SHELL=fish
HYPRLAND_INSTANCE_SIGNATURE=36b2e0cfe0c6094dbc47bd42a437431315bb3087_1785064815_1845077186
TERMINAL=kitty
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
XMODIFIERS=@im=fcitx
MOZ_ENABLE_WAYLAND=1
USE_CCACHE=1
SHLVL=1
QT_WAYLAND_DISABLE_WINDOWDECORATION=1
KITTY_PID=212010
XDG_SESSION_DESKTOP=Hyprland
WAYLAND_DISPLAY=wayland-1
QT_QPA_PLATFORMTHEME=qt6ct
SUDO_COMMAND=/bin/fish -c env
CLUTTER_IM_MODULE=fcitx
MANAGERPIDFDID=110616
JOURNAL_STREAM=10:26433

These are output of env:

MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
LANG=en_US.UTF-8
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_PICTURES_DIR=/home/huyhoang/Pictures
HYPRCURSOR_THEME=Qogir-cursors
XDG_DATA_DIRS=/home/huyhoang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
CCACHE_COMPRESS=1
MPD_HOST=/home/huyhoang/.config/mpd/socket
JOURNAL_STREAM=10:26433
XDG_DOCUMENTS_DIR=/home/huyhoang/Documents
KITTY_PID=212010
XDG_SEAT=seat0
SHELL=/bin/fish
XDG_SESSION_ID=3
AQ_DRM_DEVICES=/dev/dri/amd-igpu:/dev/dri/nvidia-egpu
MAIL=/var/spool/mail/huyhoang
MOZ_USE_XINPUT2=1
TERM=xterm-kitty
HISTSIZE=1000
GTK_USE_PORTAL=1
DOCKER_HOST=unix:///run/user/1000/docker.sock
QT_IM_MODULE=fcitx
CCACHE_MAXSIZE=50G
GDK_DEBUG=portals
HYPRCURSOR_SIZE=24
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
QT_QPA_PLATFORMTHEME=qt6ct
KITTY_PUBLIC_KEY=1:QWhMe!$Rx6NPZK@e16LsNx%u?V;R>UMqSY|Kxy<{
UWSM_FINALIZE_VARNAMES=HYPRLAND_INSTANCE_SIGNATURE HYPRLAND_CMD HYPRCURSOR_THEME HYPRCURSOR_SIZE XCURSOR_SIZE XCURSOR_THEME
SYSTEMD_EXEC_PID=2370
XDG_SESSION_DESKTOP=Hyprland
XDG_DESKTOP_DIR=/home/huyhoang/Desktop
HYPRLAND_INSTANCE_SIGNATURE=36b2e0cfe0c6094dbc47bd42a437431315bb3087_1785064815_1845077186
PATH=/home/huyhoang/.asdf/shims:/usr/lib/safe-rm:/home/huyhoang/n/bin:/usr/local/bin:/home/huyhoang/.yarn/bin:/home/huyhoang/.config/yarn/global/node_modules/.bin:/home/huyhoang/.local/bin:/home/huyhoang/.asdf/shims:/usr/lib/safe-rm:/usr/bin:/usr/local/sbin:/usr/sbin:/home/huyhoang/bin:/home/huyhoang/.bun/bin:/home/huyhoang/.cargo/bin:/bin:/home/huyhoang/.local/share/neovim/bin:/home/huyhoang/.local/share/bob/nvim-bin:/home/huyhoang/.pyenv/bin:/home/huyhoang/android_root/platform-tools/adb:/opt/cuda/bin:/usr/local/VideoSubFinder:/home/huyhoang/go/bin:/home/huyhoang/.dotnet/tools:/home/huyhoang/bin:/home/huyhoang/.bun/bin:/home/huyhoang/.local/bin:/home/huyhoang/.cargo/bin:/bin:/home/huyhoang/.local/share/neovim/bin:/home/huyhoang/.local/share/bob/nvim-bin:/home/huyhoang/.pyenv/bin:/home/huyhoang/android_root/platform-tools/adb:/opt/cuda/bin:/usr/local/VideoSubFinder:/home/huyhoang/.yarn/bin:/home/huyhoang/go/bin:/home/huyhoang/.dotnet/tools
XDG_CONFIG_DIRS=/etc/xdg
DISPLAY=:0
KITTY_INSTALLATION_DIR=/usr/lib64/kitty
XDG_CURRENT_DESKTOP=Hyprland
TERMINFO=/usr/lib64/kitty/terminfo
KITTY_LISTEN_ON=unix:/tmp/kitty-212010
LESSOPEN=||/usr/bin/lesspipe.sh %s
XMODIFIERS=@im=fcitx
USE_CCACHE=1
OZONE_PLATFORM=wayland
DEBUGINFOD_URLS=ima:enforcing https://debuginfod.fedoraproject.org/ ima:ignore
ELECTRON_OZONE_PLATFORM_HINT=wayland
XDG_VTNR=2
XDG_STATE_HOME=/home/huyhoang/.local/state
_JAVA_AWT_WM_NONREPARENTING=1
CLUTTER_IM_MODULE=fcitx
XDG_RUNTIME_DIR=/run/user/1000
ABBR_TIPS_PROMPT=\n💡 \e[1m{{ .abbr }}\e[0m => {{ .cmd }}
MANAGERPID=1902
QT4_IM_MODULE=fcitx
INPUT_METHOD=fcitx
XDG_SESSION_CLASS=user
LOGNAME=huyhoang
STARSHIP_SHELL=fish
MOZ_ENABLE_WAYLAND=1
DESKTOP_SESSION=hyprland-uwsm
HYPRLAND_CMD=Hyprland --watchdog-fd 4
QT_WAYLAND_DISABLE_WINDOWDECORATION=1
SDL_IM_MODULE=fcitx
GPG_TTY=not a tty
XDG_MENU_PREFIX=hyprland-
NOTIFY_SOCKET=/run/user/1000/systemd/notify
HOME=/home/huyhoang
XDG_TEMPLATES_DIR=/home/huyhoang/
INVOCATION_ID=f9eec5da037d45199574024912455b3a
XDG_DOWNLOAD_DIR=/home/huyhoang/Downloads
XDG_VIDEOS_DIR=/home/huyhoang/Videos
HOSTNAME=fedora
HISTCONTROL=ignoredups
JAVA_HOME=
STARSHIP_SESSION_KEY=2856580925961246
__ABBR_TIPS_KEYS=a__cp a__mv a__ssh a__sudo a__z a__zi
__ABBR_TIPS_VALUES=/usr/local/bin/advcp -g /usr/local/bin/advmv -g kitten ssh sudo -E -s __zoxide_z __zoxide_zi
PWD=/home/huyhoang
COLORTERM=truecolor
XDG_MUSIC_DIR=/home/huyhoang/Music
XDG_CACHE_HOME=/home/huyhoang/.cache
XCURSOR_SIZE=24
npm_config_prefix=/home/huyhoang/.local
TERMINAL=kitty
USER=huyhoang
XDG_BACKEND=wayland
EDITOR=nvim
ENABLE_HDR_WSI=1
GTK_IM_MODULE=fcitx
UWSM_WAIT_VARNAMES=HYPRLAND_INSTANCE_SIGNATURE
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/wayland-wm@hyprland.desktop.service/memory.pressure
XDG_PUBLICSHARE_DIR=/home/huyhoang/Share
MANAGERPIDFDID=110616
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
WLR_RENDERER=vulkan
KITTY_WINDOW_ID=1
HL_INITIAL_WORKSPACE_TOKEN=2e244c16-f911-4cf9-94f2-52a9e56c01e6
GLFW_IM_MODULE=fcitx
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MOZ_GMP_PATH=/usr/lib64/mozilla/plugins/gmp-gmpopenh264/system-installed
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
ABBR_TIPS_REGEXES=(^(\w+\s+)+(-{1,2})\w+)(\s\S+) (^(\s?(\w-?)+){3}).* (^(\s?(\w-?)+){2}).* (^(\s?(\w-?)+){1}).*
XDG_CONFIG_HOME=/home/huyhoang/.config
XDG_DATA_HOME=/home/huyhoang/.local/share
VISUAL=nvim
SHLVL=1
DEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima:
XDG_SESSION_TYPE=wayland
WAYLAND_DISPLAY=wayland-1

Checklist

  • I tried the latest nightly build, and the issue is still reproducible
  • I updated the environment information (ya env) field to the nightly that I tried
  • I can reproduce it after disabling all custom configs/plugins (mv ~/.config/yazi ~/.config/yazi-backup)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions