Skip to main content

Overview

flytectl is a portable, lightweight CLI written in Go that communicates with the FlyteAdmin service over gRPC. Every Flyte resource — projects, tasks, workflows, launch plans, executions, and matchable attributes — can be inspected or modified through flytectl.
flytectl [command] [subcommand] [args] [flags]

Global flags

These flags are available on every command.
FlagShortDefaultDescription
--config-c$HOME/.flyte/config.yamlPath to the config file
--project-p""Flyte project to target
--domain-d""Flyte domain to target (e.g. development, staging, production)
--output-oTABLEOutput format: TABLE, JSON, YAML, DOT, DOTURL (DOT/DOTURL only for workflows)
--interactive-ifalseEnable the interactive (bubbletea) UI
--admin.endpoint""gRPC endpoint of FlyteAdmin
--admin.insecurefalseDisable TLS for the Admin connection
--admin.authTypeClientSecretOAuth2 flow: ClientSecret, Pkce, ExternalCommand
The --project, --domain, and --output flags cannot be set in the config file. They must be passed on the command line or configured in the root section.

Commands

get

Fetch tasks, workflows, launch plans, executions, projects, and matchable attributes.

create

Create projects and launch new executions.

delete

Terminate executions and remove matchable resource attributes.

update

Update project metadata, launch plan state, and matchable attributes.

register

Register serialized workflow packages (tasks, workflows, launch plans) with FlyteAdmin.

demo

Start, stop, and inspect a local Flyte demo cluster running in Docker.

config

Initialize and validate the flytectl configuration file.

installation

Install flytectl via Homebrew, curl, or GitHub releases.

Additional commands

CommandDescription
flytectl sandboxManage a local Flyte sandbox cluster (alias for demo with fewer subcommands)
flytectl versionPrint the flytectl and FlyteAdmin versions
flytectl upgradeUpgrade flytectl to a newer release
flytectl compileValidate a Flyte package locally without registering it
flytectl completionGenerate shell completion scripts (bash/zsh/fish)
flytectl sandbox and flytectl demo both manage a local Docker-based Flyte environment. demo is the recommended command — it includes an additional reload subcommand. sandbox is older and may be deprecated in a future release.

Usage pattern

Most read operations follow this pattern:
flytectl get <resource> -p <project> -d <domain> [name] [flags]
Most write operations follow this pattern:
flytectl create <resource> -p <project> -d <domain> [flags]
flytectl update <resource> -p <project> -d <domain> <name> [flags]
flytectl delete <resource> -p <project> -d <domain> <name> [flags]

Output formats

All get commands support multiple output formats via -o:
# Default table output
flytectl get project

# JSON output
flytectl get workflow -p flytesnacks -d development -o json

# YAML output
flytectl get execution -p flytesnacks -d development -o yaml

# DOT graph (workflows only)
flytectl get workflow -p flytesnacks -d development core.flyte_basics.basic_workflow.my_wf --latest -o dot

Build docs developers (and LLMs) love