resticprofile status does not work on Windows 11, for both schedule-permission: system and schedule-permission: user
Expected Behavior
resticprofile status should not error out on Windows if scheduling has been done properly.
Current Behavior
resticprofile status cannot find the scheduled jobs:
errors on profile default: failed to get status for job default/backup: cannot display status: scheduled job not found
failed to get status for job default/prune: cannot display status: scheduled job not found
Steps to Reproduce
Create a directory of such a structure, where file1 and file2 are files:
C:\Test
├── directory_to_backup
│ ├── file1
│ └── file2
├── password.txt
├── profiles.yaml
└── restic_backup_location
Here, profiles.yaml is
# yaml-language-server: $schema=https://creativeprojects.github.io/resticprofile/jsonschema/config.json
version: "1"
global:
restic-binary: "C:/Users/redacted_usrname/scoop/apps/restic/current/restic.exe"
default:
repository: "./restic_backup_location"
password-file: "password.txt"
backup:
verbose: true
source: "C:/Test/directory_to_backup"
schedule: "*:00,30"
schedule-permission: system
schedule-priority: background
schedule-log: resticprofile.log
schedule-lock-mode: default
schedule-lock-wait: 15m30s
retention:
before-backup: false
after-backup: true
keep-daily: 10
keep-weekly: 5
keep-monthly: 5
keep-within: 14d
keep-tag:
- forever
prune: false
host: true
prune:
schedule: "sun 12:00"
schedule-permission: system
schedule-lock-wait: 1h
Now, we run the usual commands; I use absolute paths to show that that doesn't help.
PS C:\Test> C:\Users\redacted_usrname\scoop\apps\resticprofile\current\resticprofile.exe init
2026/04/19 12:19:30 using configuration file: profiles.yaml
2026/04/19 12:19:30 the configuration contains relative "path" items which may lead to unstable results in restic commands that select snapshots. Consider using absolute paths in "path" (and "source"), set "base-dir" or "source-base" in the profile or use "tag" instead of "path" (path = false) to select snapshots for restic commands.
Affected paths are:
> path (from source) "C:/Test/directory_to_backup" changes to "C:\Test\directory_to_backup"
2026/04/19 12:19:30 profile 'default': starting 'init'
created restic repository 88e98e721b at ./restic_backup_location
Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.
2026/04/19 12:19:32 profile 'default': finished 'init'
PS C:\Test> C:\Users\redacted_usrname\scoop\apps\resticprofile\current\resticprofile.exe -c "C:\Test\profiles.yaml" schedule --all
Profile (or Group) default: prune schedule
==========================================
Original form: sun 12:00
Normalized form: Sun *-*-* 12:00:00
Next elapse: Sun Apr 26 12:00:00 +08 2026
(in UTC): Sun Apr 26 04:00:00 UTC 2026
From now: 167h40m21s left
2026/04/19 12:19:39 restarting resticprofile in elevated mode...
Profile (or Group) default: prune schedule
==========================================
Original form: sun 12:00
Normalized form: Sun *-*-* 12:00:00
Next elapse: Sun Apr 26 12:00:00 +08 2026
(in UTC): Sun Apr 26 04:00:00 UTC 2026
From now: 167h40m15s left
2026/04/19 12:19:46 elevated user: scheduled job default/prune created
Profile (or Group) default: backup schedule
===========================================
Original form: *:00,30
Normalized form: *-*-* *:00,30:00
Next elapse: Sun Apr 19 12:30:00 +08 2026
(in UTC): Sun Apr 19 04:30:00 UTC 2026
From now: 10m14s left
2026/04/19 12:19:47 elevated user: scheduled job default/backup created
2026/04/19 12:19:47 elevated user: the configuration contains relative "path" items which may lead to unstable results in restic commands that select snapshots. Consider using absolute paths in "path" (and "source"), set "base-dir" or "source-base" in the profile or use "tag" instead of "path" (path = false) to select snapshots for restic commands.
Affected paths are:
> path (from source) "C:/Test/directory_to_backup" changes to "C:\Test\directory_to_backup"
2026/04/19 12:19:47 the configuration contains relative "path" items which may lead to unstable results in restic commands that select snapshots. Consider using absolute paths in "path" (and "source"), set "base-dir" or "source-base" in the profile or use "tag" instead of "path" (path = false) to select snapshots for restic commands.
Affected paths are:
> path (from source) "C:/Test/directory_to_backup" changes to "C:\Test\directory_to_backup"
PS C:\Test> C:\Users\redacted_usrname\scoop\apps\resticprofile\current\resticprofile.exe -c "C:\Test\profiles.yaml" status
2026/04/19 12:19:53 errors on profile default: failed to get status for job default/backup: cannot display status: scheduled job not found
failed to get status for job default/prune: cannot display status: scheduled job not found
PS C:\Test>
In particular, we note the failure of C:\Users\redacted_usrname\scoop\apps\resticprofile\current\resticprofile.exe -c "C:\Test\profiles.yaml" status:
2026/04/19 12:19:53 errors on profile default: failed to get status for job default/backup: cannot display status: scheduled job not found
failed to get status for job default/prune: cannot display status: scheduled job not found
We can check the status of the supposedly scheduled tasks:
PS C:\Test> Get-ScheduledTask | Where-Object { $_.TaskPath -like "*restic*" }
TaskPath TaskName State
-------- -------- -----
\resticprofile backup\ default backup Ready
\resticprofile backup\ default prune Ready
PS C:\Test> (Get-ScheduledTask -TaskPath "\resticprofile backup\" -TaskName "default backup").Actions
Id :
Arguments : --no-ansi --config C:\Test\profiles.yaml run-schedule backup@default
Execute : C:\Users\redacted_usrname\scoop\apps\resticprofile\current\resticprofile.exe
WorkingDirectory : C:\Test
PSComputerName :
PS C:\Test> (Get-ScheduledTask -TaskPath "\resticprofile backup\" -TaskName "default prune").Actions
Id :
Arguments : --no-ansi --config C:\Test\profiles.yaml run-schedule prune@default
Execute : C:\Users\redacted_usrname\scoop\apps\resticprofile\current\resticprofile.exe
WorkingDirectory : C:\Test
PSComputerName :
We can also manually check that the scheduled tasks can run fine:
PS C:\test> schtasks /run /tn "\resticprofile backup\default backup"
SUCCESS: Attempted to run the scheduled task "\resticprofile backup\default backup".
PS C:\test> (Get-ScheduledTask -TaskPath "\resticprofile backup\" -TaskName "default backup") | Get-ScheduledTaskInfo
LastRunTime : 19/4/2026 12:39:25 pm
LastTaskResult : 0
NextRunTime : 19/4/2026 1:00:00 pm
NumberOfMissedRuns : 0
TaskName : default backup
TaskPath : \resticprofile backup\
PSComputerName :
We can also check that a new snapshot has been created. Here, I stat the snapshots directory for fun, via WSL:
(base) grassglass@Grass-LaTeX-Compiler:/mnt/c/Test$ bash -c -O extglob 'stat /mnt/c/Test/restic_backup_location/snapshots/!(.|..)'
File: /mnt/c/Test/restic_backup_location/snapshots/80035ba9ffee4b2eb0984d63cebf2318dd8ac5079a3336f7138f9583ca634344
Size: 444 Blocks: 0 IO Block: 512 regular file
Device: 0,67 Inode: 1125899907503915 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/grassglass) Gid: ( 1000/grassglass)
Access: 2026-04-19 12:39:26.129332700 +0800
Modify: 2026-04-19 12:39:26.129332700 +0800
Change: 2026-04-19 12:39:26.132291900 +0800
Birth: -
File: /mnt/c/Test/restic_backup_location/snapshots/d45c919fc13073adda5acfb0651bebdd21a86629f911c447e47c5f4cd4f0a8f9
Size: 402 Blocks: 0 IO Block: 512 regular file
Device: 0,67 Inode: 844424930793228 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/grassglass) Gid: ( 1000/grassglass)
Access: 2026-04-19 12:30:01.703606900 +0800
Modify: 2026-04-19 12:30:01.703606900 +0800
Change: 2026-04-19 12:30:01.706851100 +0800
Birth: -
One can freely change system to user in the YAML file and we still see the same issue.
System information
PS C:\Test> restic version
restic 0.18.1 compiled with go1.25.1 on windows/amd64
PS C:\Test> resticprofile version
resticprofile version 0.33.1 commit 49102a5f476be6dcc15a9f0ac092ef23fc528075
PS C:\Test> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.26100.8115
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.26100.8115
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Courtesy of fastfetch:
OS: Windows 11 Pro (25H2) x86_64
Kernel: WIN32_NT 10.0.26200.8246
Shell: Windows PowerShell 5.1.26100.8115
resticprofile statusdoes not work on Windows 11, for bothschedule-permission: systemandschedule-permission: userExpected Behavior
resticprofile statusshould not error out on Windows if scheduling has been done properly.Current Behavior
resticprofile statuscannot find the scheduled jobs:Steps to Reproduce
Create a directory of such a structure, where
file1andfile2are files:Here,
profiles.yamlisNow, we run the usual commands; I use absolute paths to show that that doesn't help.
In particular, we note the failure of
C:\Users\redacted_usrname\scoop\apps\resticprofile\current\resticprofile.exe -c "C:\Test\profiles.yaml" status:We can check the status of the supposedly scheduled tasks:
We can also manually check that the scheduled tasks can run fine:
We can also check that a new snapshot has been created. Here, I
statthe snapshots directory for fun, via WSL:(base) grassglass@Grass-LaTeX-Compiler:/mnt/c/Test$ bash -c -O extglob 'stat /mnt/c/Test/restic_backup_location/snapshots/!(.|..)' File: /mnt/c/Test/restic_backup_location/snapshots/80035ba9ffee4b2eb0984d63cebf2318dd8ac5079a3336f7138f9583ca634344 Size: 444 Blocks: 0 IO Block: 512 regular file Device: 0,67 Inode: 1125899907503915 Links: 1 Access: (0777/-rwxrwxrwx) Uid: ( 1000/grassglass) Gid: ( 1000/grassglass) Access: 2026-04-19 12:39:26.129332700 +0800 Modify: 2026-04-19 12:39:26.129332700 +0800 Change: 2026-04-19 12:39:26.132291900 +0800 Birth: - File: /mnt/c/Test/restic_backup_location/snapshots/d45c919fc13073adda5acfb0651bebdd21a86629f911c447e47c5f4cd4f0a8f9 Size: 402 Blocks: 0 IO Block: 512 regular file Device: 0,67 Inode: 844424930793228 Links: 1 Access: (0777/-rwxrwxrwx) Uid: ( 1000/grassglass) Gid: ( 1000/grassglass) Access: 2026-04-19 12:30:01.703606900 +0800 Modify: 2026-04-19 12:30:01.703606900 +0800 Change: 2026-04-19 12:30:01.706851100 +0800 Birth: -One can freely change
systemtouserin the YAML file and we still see the same issue.System information
Courtesy of
fastfetch: