Problem
list-backups can resolve a different default �ackup_root than �ackup, depending on the current process sandbox or permission view of ~/Documents.
Observed on Ubuntu/Linux:
�ash agent-environment-backup --profile codex list-backups --backup-root /home/cedric/Documents/CodexBackups
This works and lists the latest backup, including:
ext codex-backup-20260520-141125 status=ok
But without an explicit backup root:
�ash agent-environment-backup --profile codex list-backups
It resolves:
ext backup_root: /home/cedric/CodexBackups backups: []
The actual backup was written to:
ext /home/cedric/Documents/CodexBackups
So a user can successfully create a backup and then immediately get an empty list from the natural-language/default workflow, depending on sandbox or permissions.
Expected behavior
The default �ackup_root used by �ackup, list-backups, and
estore should be stable for the same profile and user environment.
A backup created with defaults should be discoverable by list-backups with defaults.
Suggested fixes
- Make default �ackup_root deterministic and independent of transient write checks where possible.
- If fallback behavior is kept, add a discoverability mechanism so list-backups checks both the primary default and known fallback/default roots.
- Consider recording the last successful backup root in local tool state or deriving it from existing backup roots safely.
- Ensure
estore default behavior is consistent with �ackup and list-backups.
Documentation follow-up
UPDATE.md and/or the Agent Skill docs should mention that sandbox validation should use the same explicit --backup-root for �ackup, list-backups, and
estore until the default-root behavior is stable. This avoids users misreading an empty fallback directory as no backups.
Safety notes
This should not change backup contents, restore overwrite rules, credential handling, ACL handling, or .sandbox-secrets behavior.
Problem
list-backups can resolve a different default �ackup_root than �ackup, depending on the current process sandbox or permission view of ~/Documents.
Observed on Ubuntu/Linux:
�ash agent-environment-backup --profile codex list-backups --backup-root /home/cedric/Documents/CodexBackupsThis works and lists the latest backup, including:
ext codex-backup-20260520-141125 status=okBut without an explicit backup root:
�ash agent-environment-backup --profile codex list-backupsIt resolves:
ext backup_root: /home/cedric/CodexBackups backups: []The actual backup was written to:
ext /home/cedric/Documents/CodexBackupsSo a user can successfully create a backup and then immediately get an empty list from the natural-language/default workflow, depending on sandbox or permissions.
Expected behavior
The default �ackup_root used by �ackup, list-backups, and
estore should be stable for the same profile and user environment.
A backup created with defaults should be discoverable by list-backups with defaults.
Suggested fixes
estore default behavior is consistent with �ackup and list-backups.
Documentation follow-up
UPDATE.md and/or the Agent Skill docs should mention that sandbox validation should use the same explicit --backup-root for �ackup, list-backups, and
estore until the default-root behavior is stable. This avoids users misreading an empty fallback directory as no backups.
Safety notes
This should not change backup contents, restore overwrite rules, credential handling, ACL handling, or .sandbox-secrets behavior.