Repository navigation
Releases: tryterra/terra-cli
Release list
v0.22.0
Breaking changes
environments updateis removed, because the API no longer supports
changing an environment's name or billable flag.
New
lab-reports api-version retrieveandupdateview and change the lab
reports API version for an environment.vantage events list,retrieveandretrieve-payloadread the Vantage
event log.environments listandenvironments retrieveshow whether an environment
is production.
Fixes
- Built with Go 1.26.10, which fixes vulnerabilities in the standard library's
certificate verification.
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with Native Install, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.22.0
Or with Native Install, in Windows PowerShell (x64 or ARM64):
& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.22.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.22.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.21.0
New
events generate --dispatch=falsebuilds a synthetic event and prints the
payload without storing or delivering it, so it works before you have
registered a destination.events listsorts with--order-by(sent_at,http_status,provider,
data_type,destination_typeorresponse_time_ms) and--order
(ascordesc). The default is still newest first.users list --qsearches by reference ID prefix, or by an exact user ID.models runs list --qsearches user IDs, run IDs and error messages.users listnow includes the scopes each user granted their provider.unified-api sources credentials replaceandupdateaccept Google Cloud
Secret Manager in--secret-ref, alongside AWS.
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with Native Install, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.21.0
Or with Native Install, in Windows PowerShell (x64 or ARM64):
& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.21.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.21.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.20.0
Breaking changes
destination-types listis nowunified-api destination-types list, and
takes--envlike the otherunified-apicommands.
New
unified-api sources batch-enableandbatch-disableturn up to 100
providers on or off in one call. Either every provider changes or none does.unified-api destinations batch-createcreates up to 100 destinations in one
call, all or nothing.unified-api sources update,sources credentials updateand
sources scopes reset.sources credentials replacetakes--secret-ref.unified-api sources domain retrieve,setanddeletemanage a provider's
custom domain.deleteasks for confirmation.unified-api source-types listlists every provider you can enable.unified-api data data-types listlists the data types you can select.account retrievereports whether a billing account is linked.
Fixes
- Built with Go 1.26.9, which fixes vulnerabilities in the standard library's
TLS, HTTP and file handling.
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with Native Install, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.20.0
Or with Native Install, in Windows PowerShell (x64 or ARM64):
& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.20.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.20.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.19.0
Breaking changes
events generatenow requires thetestdata:writescope instead of
events:write. Re-mint tokens that lack it.supabase provisionnow asks for confirmation. Pass--yeswhen running it
without a terminal.
New
synthetic-users create,list,retrieve,startandstop, and
users retrieve-data.destination-types list,unified-api destinations retrieveand
unified-api destinations retrieve-secrets.unified-api destinations createandupdatetake--config.--urland
--metadataare deprecated.- Synthetic users show their
reference_id. terra loginsends the machine's hostname and the CLI's User-Agent, so the
approval page shows where the request came from.
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with Native Install, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.19.0
Or with Native Install, in Windows PowerShell (x64 or ARM64):
& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.19.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.19.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.18.0
Breaking changes
- These commands are removed, as they are no longer part of the public API:
account retrieve-metadataandaccount update-metadatacompany agree-terms,ensure-referral-code,list-feature-flags,
opt-in-points,retrieve-onboarding,retrieve-referral-code,
retrieve-referrals,retrieve-termsandupdate-onboarding. Use
entitlements listto see which features an account has.
- These commands are removed so that each task has one command for it:
billing invoices upcoming: usebilling invoices previews.workouts metadata update: useworkouts metadata replaceto set
metadata andworkouts metadata deleteto clear it.environments create: it recorded details for an existing environment
rather than creating a new one.
billing usage currentis renamed tobilling usage retrieve. Its output is
unchanged.- These commands change configuration and all support
--dry-run, so they no
longer ask for confirmation and no longer accept--yes:events resend,
unified-api destinations createandupdate,unified-api sources disable,
unified-api sources scopes replace,unified-api data scopes updateand
replace,unified-api widget update, andworkouts metadata delete.
Remove--yesfrom scripts that call them. Commands that affect billing,
credentials or team access still ask.
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with Native Install, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.18.0
Or with Native Install, in Windows PowerShell (x64 or ARM64):
& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.18.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.18.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.17.0
Breaking changes
- Commands that send data somewhere or grant access now ask for confirmation
before acting:unified-api destinations createandupdate,
events resend,data-tokens create,team invitations create, and
team members update. The prompt says what the command will do. Pass--yes
in scripts: without a terminal to prompt on, these commands stop with
requires confirmation and cannot prompt for confirmation hereinstead of
running.--dry-runnever asks. billing usage retrieveis removed. Usebilling usage current, which
reports each metered item over its current measurement window without a meter
ID or a Unix-second time window.
Added
billing invoices paypays an open invoice. If the payment needs
authentication, open the returnedpayment_urlto finish it.billing invoices previewspreviews the next invoice for every billable
subscription, without charging or creating an invoice.billing invoice-details updatesets the legal name and VAT number printed on
future invoices.billing usage currentshows current metered usage for each subscription
item, with daily totals and pricing.vantage api-version retrieveshows the Vantage API version an environment is
pinned to and the versions it can move to.vantage api-version updatemoves
the pin, and supports--dry-run.
billing invoices pay and billing invoice-details update ask for
confirmation too.
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with Native Install, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.17.0
Or with Native Install, in Windows PowerShell (x64 or ARM64):
& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.17.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.17.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.16.0
-
Install Terra directly from Windows PowerShell 5.1 or PowerShell 7:
irm https://cli.tryterra.co/install.ps1 | iex
Native Install adds Terra to your user PATH without administrator privileges.
Rerun the installer to update, or useterra update. Native Windows installs
also support automatic updates. -
Run Terra natively on Windows ARM64. The PowerShell installer automatically
selects the ARM64 binary, including when launched from an emulated shell.
Windows x64 remains supported. -
Install the native Windows ARM64 binary through npm with ARM64 Node.js:
npm install -g @tryterra/cli
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with Native Install, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.16.0
Or with Native Install, in Windows PowerShell (x64 or ARM64):
& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.16.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.16.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.15.0
Breaking changes
--dry-runnow sends an authenticated API request to preview a change
without committing it. It requires credentials and a network connection.
Offline request printing is no longer available. Commands without preview
support, includingterra admin-apiandterra data-api, reject the flag.- Billing subscription responses use
payment_urlinstead ofdashboard_url.
Update scripts and--selectexpressions that read the payment link.
Subscription creation acceptsmonthlyorannualfor--schedule;
thestartupplan requires it.
Server previews
- Preview changes on 39 supported operations, including billing subscriptions.
Use the command's--helpto check for--dry-run. - Preview output includes the server's
wouldandpreviewfields. Use
--selectto pick preview fields or--jqto query the full response.
Previews skip destructive confirmation and do not send idempotency keys.
Automatic updates
-
Standalone, global npm, and Homebrew installations now update in the
background. Eligible commands can start a check once every four hours;
your command does not wait for the update. CI, project dependencies, npx,
and pinned Homebrew installations are excluded from automatic updates. -
Run
terra updateto update explicitly. On Windows, the update runs after
the command exits. Standalone updates verify signed checksums before
replacing the binary, and updates never request elevated permissions. -
Set
TERRA_NO_AUTO_UPDATE=1to keep notices without installing updates.
SetTERRA_NO_UPDATE_NOTIFIER=1orDO_NOT_TRACK=1to disable automatic
update activity entirely. Explicitterra updatestill works. -
To update an older standalone installation to this release, rerun the
installer:curl -fsSL https://cli.tryterra.co/install.sh | sh
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with the standalone installer, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.15.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.15.0
Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.14.1
- Standalone Installer: Skips PATH setup instructions and profile edits if the installed Terra binary is already resolved
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with the standalone installer, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.14.1
Or with npm, on any platform:
npm install -g @tryterra/cli@0.14.1
Each archive below carries a checksum file and a Sigstore bundle. To
verify one:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt
v0.14.0
Breaking changes
- Raw admin requests now use
terra admin-api. Replaceterra apiin scripts
and commands, includingterra api list, withterra admin-api. The old
spelling is no longer accepted.terra data-apikeeps its name. - Remove
--no-verifyfrom raw admin and data API requests. Both commands now
send paths and methods without checking them against the bundled endpoint
catalog, so the flag is no longer needed or accepted.
Standalone installation
-
Install Terra on macOS or Linux without npm or Homebrew:
curl -fsSL https://cli.tryterra.co/install.sh | sh -
Supports ARM64 and x86-64, installs into
~/.local/binby default without
sudo, and configures PATH for Bash, Zsh, or fish. The installer prints the
command to activate PATH in the current terminal. -
Choose a release with
--version, a destination with--install-dir, or
skip shell changes with--no-modify-path.TERRA_INSTALL_DIRand
TERRA_NO_MODIFY_PATH=1provide the corresponding environment overrides. -
Downloads are verified against SHA-256 checksums. The installer detects
competing installations, requires--forceto replace an unrecognized
destination or install alongside another copy, and serializes concurrent
installs even when--forceis used. Failed or interrupted replacement
restores the previous installation when rollback succeeds. -
Rerun the installer to update. Update notices recognize standalone installs
and provide an installer command that preserves a custom install directory. -
Stable releases update and verify the hosted installer after publishing the
binary archives. Prereleases leave the stable installer unchanged.
Raw API requests
terra admin-apiandterra data-apican reach endpoints and HTTP methods
added after this CLI's bundled API description. The server determines whether
a route is supported; valid new endpoints are no longer rejected locally.- Endpoint discovery and completion still use the bundled catalog and can lag
the server. Useterra admin-api listfor known admin endpoints or
terra admin-api list --data-apifor known data endpoints. Request syntax
checks and DELETE confirmation still apply. - Help, examples, and troubleshooting guidance use the explicit
admin-api
command name and document the standalone installation path.
Install or upgrade, on macOS:
brew install tryterra/tap/terra
Or with the standalone installer, on macOS or Linux:
curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.14.0
Or with npm, on any platform:
npm install -g @tryterra/cli@0.14.0
Each archive below carries a checksum file and a Sigstore bundle. To
verify one:
cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt