Skip to main content
A branch is an isolated Postgres database created from your connected source. Run migrations, tests, data investigations, and agents against it — your source database is never touched.

ardent branch create

Create a branch from the current connector. It becomes your current branch.

Options

--print-url and --format can’t be combined. --url-type can’t be combined with --format json — the JSON already includes every URL.

Use in scripts

If --print-url prints nothing, stop the script. A missing URL means setup failed — don’t fall back to another database. If creation takes too long, the CLI stops waiting after 65 minutes — but the work usually finishes server-side.
Re-run the exact same command. For the same connector, branch name, and service type, a re-run picks up the original request instead of starting a second one. Changing the name or service type starts a new request.You can also run ardent branch list — if the branch appears there, it finished. Use it.The error includes an operation ID you can give Ardent support:

Connecting to a branch

Use the URL exactly as Ardent returns it, including everything after the ?:
Two settings matter in database GUIs and IDEs:
  • SSL mode: require. Leave root certificate / CA fields blank — your source database’s certificate won’t work here and causes TLS errors.
  • Channel binding: disable, if your client has the setting.
Branch connections go through Ardent’s routing layer, where TLS ends. Your connection is encrypted, but it isn’t signed by your source database’s certificate authority — so a client configured to verify against your source’s CA bundle will reject it. Clearing the certificate fields keeps the connection encrypted without that check.The same routing layer is why clients that force channel binding can reject an otherwise valid connection. channel_binding=disable in the URL handles it; set the IDE option too if there is one.

ardent branch list

List branches for the current connector:
Your current branch is green and marked *. means active; means not. Each branch shows its type, readiness, age, and idle time.
Branches:
* ● my-feature
postgres · ready · created 2026-06-01 · idle 2m (active)
○ staging
postgres · ready · created 2026-05-20 · idle 3d (suspended)
If you’re offline, the CLI shows cached data and labels it: ⚠ Offline - showing cached data from ....

ardent branch info

Show details and connection URLs for a branch. With no name, it shows the current branch.
The same script flags work here:

ardent branch switch

Change which branch is current for future CLI commands:
Switching doesn’t touch your source database or your app’s config. Copy the printed URL into your app when you want to use the branch.

ardent branch delete

The CLI queues the delete, waits for it to finish, then prints ✓ Branch deleted. If the CLI stops waiting (after 10 minutes), the delete usually still finishes server-side.
Re-running ardent branch delete <name> is safe — it checks on the existing delete instead of starting a second one. Run ardent branch list online to see the final state; the local cache only drops the branch once the server confirms it’s gone.The error includes an operation ID you can give Ardent support:
Branches suspend on their own when idle, so cleanup isn’t urgent on your laptop. CI should still delete its branches — use if: always() (or your CI’s equivalent) so every run cleans up.