declaw volume (alias declaw vol) manages volumes: persistent, owner-owned file stores you attach to sandboxes. The CLI covers copy-mode volumes, file-granular file operations, advisory locks, and capturing sandbox state into a new volume.
Attach a volume to a sandbox with declaw sandbox create --volume <id>:<mount-path>[:mode[:subpath]].
Lifecycle
| Command | Args | Flags |
|---|---|---|
volume create <name> | name | --from-tar (gzipped tar for initial contents) |
volume empty | --name (required) | |
volume ingest | --name (required), --file (required, .tar.gz) | |
volume list | ||
volume get <volume-id> | volume | |
volume delete <volume-id> | volume |
snapshot
Capture an absolute in-sandbox path into a new volume. The source sandbox is unchanged.| Flag | Default | Description |
|---|---|---|
--path | Absolute in-sandbox path to capture (required) | |
--name | snapshot | Name for the new volume |
files
Read and write files inside a file-granular volume directly — no sandbox required. Each subcommand takes the volume ID; paths are passed as flags.| Subcommand | Key flags |
|---|---|
files read <volume-id> | --path (required), --output/-o |
files write <volume-id> | --path (required), --file or --content, --if-version (compare-and-swap) |
files list <volume-id> | --path (default /) |
files info <volume-id> | --path (required) — includes the version for CAS writes |
files exists <volume-id> | --path (required) |
files rm <volume-id> | --path (required), --recursive/-r |
files mv <volume-id> | --old-path (required), --new-path (required) |
files mkdir <volume-id> | --path (required) |
files info to files write --if-version for an atomic compare-and-swap (a mismatch is rejected).
lock
Coordinate concurrent writers to a shared volume with advisory leases over a(volume, path) pair (alias locks). Locks are advisory — they coordinate cooperating writers, they don’t block I/O.
| Subcommand | Key flags |
|---|---|
lock acquire <volume-id> | --path (required), --ttl (seconds, 0 = server default) — returns a token |
lock renew <volume-id> | --path, --token, --ttl |
lock status <volume-id> | --path (required) |
lock release <volume-id> | --path, --token |
Next steps
- Volumes — copy-mode vs file-granular, attach modes, limits
- Sandbox commands — attach a volume at create time