The difyctl help system covers four surfaces: the top-level overview, per-command and group help, guide topics, and a machine-readable form of all of them. All help prints to stdout and exits 0.
Get Help
Four invocations show the same top-level overview:
difyctl
difyctl help
difyctl --help
difyctl -h
The overview lists every command with its one-liner, three getting-started examples, the global flags, and the guide topics. For the same inventory with links into this reference, see the Command Index.
Help for One Command or Group
Append --help to any command, or put help in front of it:
difyctl run app --help
difyctl help run app
Per-command help shows the command’s description, usage line, arguments, flags with defaults, and examples.
Name a command group instead of a command to list the group’s subcommands:
COMMANDS
auth devices list List active sessions for the current bearer
auth devices revoke Revoke one or all session devices
auth list List all authenticated contexts (host + account pairs)
auth login Sign in to Dify via OAuth device flow
auth logout Log out of the active Dify host
auth whoami Print the active subject's identity
A name that matches neither a command, a topic, nor a group fails with unknown help topic: <name>, suggestions, and exit code 1.
Guide Topics
Long-form topics ship inside the CLI, read with difyctl help <topic>:
| Topic | What it covers |
|---|
account | Onboarding guidance. |
environment | The CLI’s own descriptions of the DIFY_* environment variables. |
agent | The cross-command contract for agents driving difyctl. |
These topics are built into the CLI. For which variables difyctl actually reads, see Environment Variables.
Machine-Readable Help
Every help surface accepts -o json and -o yaml. The top-level form emits the complete command surface in one document:
The document has four top-level keys: bin, contract (exit codes, output formats, the shape of error output, and cross-command rules), commands (one descriptor per command), and topics (the available guide topics by name, with each topic’s text read via difyctl help <topic>).
Per-command help in JSON returns just that command’s descriptor:
difyctl auth whoami --help -o json
{
"command": "auth whoami",
"description": "Print the active subject's identity",
"effect": "read",
"args": [],
"flags": [
{
"name": "json",
"char": null,
"type": "boolean",
"default": false,
"multiple": false,
"options": null,
"description": "emit JSON"
}
],
"examples": [
"difyctl auth whoami",
"difyctl auth whoami --json"
],
"agentGuide": null
}
Each descriptor carries the command’s arguments and flags with types and defaults, an effect label (read, write, or destructive), and an agentGuide string where one exists. This is how coding agents discover difyctl.
Exit Codes
| Code | Meaning |
|---|
0 | Help printed |
1 | Unknown help topic or command name |
See Output Formats and Exit Codes for the full scheme. Last modified on June 25, 2026