diff --git a/tox.ini b/tox.ini
index ba72814b2f07d42ba27feee3df8b7c430789b9df..6e4b77ab1ded935257117696975c2150772cd85c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,8 +5,6 @@ envlist = py39,py310,py311
 
 [testenv]
 whitelist_externals = poetry
-		      sudo
-                      sh
 skip_install = true
 envdir = {toxworkdir}/globalenv
 commands_pre =
@@ -28,8 +26,8 @@ commands =
     poetry run black --check --diff aleksis/
     poetry run isort -c --diff --stdout aleksis/
     poetry run flake8 {posargs} aleksis/
-    sh -c "aleksis-admin yarn run prettier --check --ignore-path=$(pwd)/.prettierignore $(pwd)"
-    sh -c "aleksis-admin yarn run eslint $(pwd)/aleksis/**/*/frontend/**/*.{js,vue} --config=$(pwd)/.eslintrc.js --resolve-plugins-relative-to=."
+    poetry run sh -c "aleksis-admin yarn run prettier --check --ignore-path={toxinidir}/.prettierignore {toxinidir}"
+    poetry run sh -c "aleksis-admin yarn run eslint {toxinidir}/aleksis/**/*/frontend/**/*.{js,vue} --config={toxinidir}/.eslintrc.js --resolve-plugins-relative-to=."
 
 [testenv:security]
 commands =
@@ -49,7 +47,7 @@ commands = poetry run make -C docs/ html {posargs}
 commands =
     poetry run isort aleksis/
     poetry run black aleksis/
-    sh -c "aleksis-admin yarn run prettier --write --ignore-path=$(pwd)/.prettierignore $(pwd)"
+    poetry run sh -c "aleksis-admin yarn run prettier --write --ignore-path={toxinidir}/.prettierignore {toxinidir}"
 
 [testenv:makemessages]
 commands =