Skip to content

deckctl history

Handles history lifecycle. Every successful template apply appends a record to a bbolt database, by default at ~/.config/deckctl/history.db. Dry runs are not recorded.

deckctl history [command] [flags]
SubcommandPurpose
listList all recorded applies
clearDelete all records

All subcommands also accept the global flags, notably --history.


deckctl history list [flags]

No command-specific flags. Table columns: Timestamp, Template, Source, Output.

Terminal window
deckctl history list
deckctl history list -o json
deckctl history list --history /tmp/deckctl-history.db

-o json returns the full record, including the resolved variables that the table view omits:

[
{
"timestamp": "2026-06-17T21:04:11.482913Z",
"template": "go-service",
"source": "work",
"output_path": "./billing",
"variables": {
"app_name": "billing",
"replicas": "3"
}
}
]

Records are keyed by timestamp (RFC 3339 with nanoseconds, UTC), so they come back in chronological order.

Terminal window
# The last five applies
deckctl history list -o json | jq -r '.[-5:] | .[] | "\(.timestamp) \(.template) → \(.output_path)"'
# Re-run a previous apply's variables
deckctl history list -o json \
| jq -r '.[-1].variables | to_entries[] | "--var \(.key)=\(.value)"'

deckctl history clear [flags]
FlagDefaultDescription
--auto-approvefalseSkip the confirmation prompt

Removes all records — there is no per-entry or date-range filter.

Terminal window
deckctl history clear
deckctl history clear --auto-approve