Skip to Content
CLI ReferenceMultiple Targets

Multiple Targets

A single repo can manage multiple agents/environments. Each veris env create adds a target to veris.yaml. The target name is the backend environment name.

Set up multiple targets

# First agent — target name derived from --name slug + '-env' veris env create --name "Billing Assistant" # → target: billing-assistant-env # Second agent in the same repo veris env create --name "Customer Support" # → target: customer-support-env

After two creates, .veris/veris.yaml contains both targets:

.veris/veris.yaml
version: "1.0" billing-assistant-env: services: - name: postgres actor: channels: - type: http url: http://localhost:8008/chat agent: name: Billing Assistant entry_point: uv run app port: 8008 customer-support-env: services: - name: zendesk-support dns_aliases: - help.example.com actor: channels: - type: email email_address: support@ea.veris.ai agent: name: Customer Support entry_point: uv run support port: 8009

Set the active target

Rather than passing --target on every command, set an active target once:

veris env targets set customer-support-env

After this, all commands automatically use customer-support-env:

veris env push # pushes customer-support-env veris run # runs customer-support-env veris env vars set API_KEY=sk-... # for customer-support-env veris env config push # uploads customer-support-env block

Manage the active target

veris env targets get # show the active target veris env targets set NAME # set the active target veris env targets list # list all targets from veris.yaml veris env targets clear # clear (revert to auto-detect)

Override with --target

For one-off commands, pass --target directly instead of changing the active target:

veris env push --target billing-assistant-env veris run --target customer-support-env

All veris env commands and veris run accept --target.

Per-target Dockerfile

Each target can specify a custom Dockerfile. If omitted, .veris/Dockerfile.sandbox is used.

customer-support-env: dockerfile: .veris/Dockerfile.support agent: name: Customer Support ...

Resolution order

PrioritySource
1--target flag
2Active target (veris env targets set)
3Auto-detect: sole target in veris.yaml
4Error if ambiguous

When only one target is defined, it’s always auto-detected — no --target or active target needed.

Cross-profile behavior

When you switch profiles (e.g. from dev to staging) and push, the CLI detects that the target exists on another profile and offers to create it on the current one.