Files
dify-docs/en/cli/reference/version.mdx
Riskey 2f88f0f7d2 docs: sync Cloud documentation for Dify 1.15.0 (#835)
* docs: add Human Input file inputs and Service API to Cloud docs

Port the Phase 2 Human Input docs (file inputs and the Service API integration flow) to the Cloud docs, mirroring the self-host pages.

- human-input.mdx (en/zh/ja): add the Single File / File List field type and the file-handling notes; the upload-limit callout states Cloud's fixed limits (documents 15 MB, images 10 MB, audio 50 MB, video 100 MB, up to 10 files) instead of self-host env vars.
- hitl-api-integration-flow.mdx (en/zh/ja): new; identical to self-host since the Service API is the same.
- docs.json: nest the integration-flow under the Human Input group in all three navs.
- zh/ja reuse the self-host translations; only the callout and the /self-host/ links changed.

* docs: rewrite Cloud model providers around AI Credits

* docs: rewrite Cloud subscription management for 1.15.0

* docs: update Cloud code node limits and XLSX image extraction note

* docs: rewrite Cloud team members management for 1.15.0

* docs: apply the 1.15.0 Integrations redesign to Cloud docs

* docs: fix workflow API reference for run-level logs and streaming

* docs: sync self-host use-dify pages and fix translation debt

* docs: align shared tutorials and quick start with 1.15.0

* docs: refine difyctl install examples and workspace reference

* docs: rewrite hotkeys page to match current shortcuts

* fix: correct broken anchor links for badged headings and tabs

* fix: correct env link and Human Input resume identifier

* feat: handle heading badges in link-checker slugs

* fix: repoint publish-mcp cross-links to the merged MCP section

* docs: rename plugin dev CLI to Dify Plugin CLI

* docs: refine CLI reference readability and expand --agent

* feat: stop format checkers flagging indented list-item content

* fix: correct zh/ja custom-endpoint spacing and a list blank line

* docs: clarify Cloud model provider install and AI Credits coverage
2026-07-02 19:51:55 +08:00

129 lines
4.0 KiB
Plaintext

---
title: Version
description: Check your difyctl build and its compatibility with your Dify server
---
Run [`difyctl version`](#check-client-and-server-versions) to see which `difyctl` build you have and whether it works with your Dify server. It prints the client build, probes your active host, and reports a [compatibility verdict](#compatibility-verdicts).
In a script, [`--check-compat`](#gate-scripts-on-compatibility) turns that verdict into an exit code.
## Check Client and Server Versions
```text
difyctl version [flags]
```
### Flags
| Flag | Type | Default | Description |
|:---|:---|:---|:---|
| `--short` | boolean | false | Print only the client semver (no server probe) and exit. |
| `--client` | boolean | false | Skip the server probe, so the verdict reports `unknown`. |
| `--check-compat` | boolean | false | Exit `64` unless the verdict is `compatible`. |
| `-o <format>` | string | text | Output format: `text`, `json`, or `yaml`. |
### Examples
Print the full report:
```bash
difyctl version
```
Print just the client version, for scripts and bug reports:
```bash
difyctl version --short
```
### Output
| Format | What stdout gets |
|:---|:---|
| default (`text`) | The full report: a `Client` block, a `Server` block, and a one-line `Compatibility` verdict. Builds on any channel other than `stable` append a warning recommending the stable channel. |
| `-o json`, `-o yaml` | The same report as three objects: <ul><li>`client` (`version`, `commit`, `buildDate`, `channel`, `platform`, `arch`)</li><li>`server` (`endpoint`, `reachable`, and on success `version` and `edition`)</li><li>`compat` (`minDify`, `maxDify`, `status`, `detail`)</li></ul> |
The default `text` report:
```text
Client:
Version: 0.1.0-alpha (channel: alpha)
Commit: 9f3c2ab (built 2026-06-05)
Platform: darwin/arm64
Compat: dify >=1.15.0, <=1.15.0
Server:
Endpoint: https://cloud.dify.ai
Version: 1.15.0 (cloud)
Compatibility: ok — server 1.15.0 in [1.15.0, 1.15.0]
```
`--short` prints only the client semver:
```text
0.1.0-alpha
```
`-o json`:
```json
{
"client": {
"version": "0.1.0-alpha",
"commit": "9f3c2ab",
"buildDate": "2026-06-05",
"channel": "alpha",
"platform": "darwin",
"arch": "arm64"
},
"server": {
"endpoint": "https://cloud.dify.ai",
"reachable": true,
"version": "1.15.0",
"edition": "CLOUD"
},
"compat": {
"minDify": "1.15.0",
"maxDify": "1.15.0",
"status": "compatible",
"detail": "server 1.15.0 in [1.15.0, 1.15.0]"
}
}
```
Without `--check-compat`, the command exits `0` even when the server is unreachable or incompatible. The verdict is the report, not an error.
### Exit Codes
| Code | Meaning |
|:---|:---|
| `0` | Report printed, whatever the verdict |
| `64` | With `--check-compat`: the verdict was not `compatible` |
See [Output Formats and Exit Codes](/en/cli/reference/output-formats-and-exit-codes) for the full scheme.
## Compatibility Verdicts
`difyctl version` compares your build against the server's version and reports one of three verdicts. You don't need to be signed in, but you do need a stored host to probe.
| Verdict | Meaning |
|:---|:---|
| `compatible` | The server version is inside the range this build supports. |
| `unsupported` | The server version is outside the supported range. |
| `unknown` | No verdict: no host configured, the server is unreachable, the probe was skipped with `--client`, or the server's version didn't parse. |
The `detail` field says which case you're in, for example `server 1.16.0 outside [1.15.0, 1.15.0]`.
## Gate Scripts on Compatibility
`--check-compat` makes the verdict scriptable: anything other than `compatible`, including every `unknown` case, exits `64`.
The full report still goes to stdout in your chosen format, and the one-line reason goes to stderr, so `difyctl version -o json --check-compat | jq` works the same on both outcomes.
```bash
difyctl version --check-compat || echo "difyctl and this Dify server are not a confirmed match"
```
Exit code `64` is specific to this flag. No other `difyctl` failure uses it.