メインコンテンツへスキップ
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
古い difyctl が catalog_stale(The request was built from a catalog that is not this server's current catalog)で失敗するようになった場合、Dify サーバーはすでに 1.18.0 以降に移行しています。

新しいビルドへの切り替え

1

新しいビルドのインストール

サーバーに合った difyctl を インストール します。CI イメージ内など、ほかの場所にある古いビルドのコピーもすべて削除します。新しいビルドでサインインした後に古いビルドの auth logout を実行すると、新しいビルドの保存済みトークンが削除されることがあります。その場合は、もう一度サインインが必要です。1.17.x 以前のサーバー用に、古いビルドも引き続き必要になることがあります。たとえば、ステージング環境を先に移行し、本番環境はまだ移行していない場合です。そのときは、DIFYCTL_PREFIX で古いビルドを専用のフォルダにインストールし、専用の設定フォルダを指定して実行します。この設定フォルダは最初は空なので、そこで古いビルドでもう一度サインインします:
2

再サインイン

difyctl describe account で、サインインできたことを確認します。サインインのオプションと、新しいビルドがトークンを保存する場所については、サインインの管理 を参照してください。CI ジョブでサインインする方法は、CI と自動化での difyctl の使用 を参照してください。
3

古いセッションの終了

新しいビルドでサインインしても、サーバー上にある古いビルドのセッションは終了しません。このセッションは、既定では最大 14 日間有効です。共有マシンを使っている場合や設定フォルダをコピーした場合など、古いトークンがほかの人の手に渡っている可能性があるときは、すぐに終了させてください。そうでなければ、期限切れになるまでそのままにしてもかまいません。終了するには、セッションを一覧表示し、difyctl on <your-machine-name> というラベルのセッションを削除します。新しいセッションのラベルは、マシン名だけです。削除時に確認は求められないため、実行前に ID をよく確認してください。
4

difyctl スキルの再インストール

Claude Code や Codex などのコーディングエージェントが difyctl スキル経由で difyctl を使っている場合は、スキルを再インストールしてください。問題がなさそうに見えても、再インストールは必要です。古いビルドの skills install --yes は、検出したすべてのコーディングエージェントに difyctl スキルをインストールしていました。次のフォルダのうち、どれが存在するかを確認します:
install skills が difyctl スキルを置き換えるのは、引数に指定したスキルフォルダだけです。引き続き使うコーディングエージェントごとに実行し、残りのスキルフォルダからは difyctl フォルダを削除します:
古い skills install <dir> は、SKILL.md を <dir> の直下に書き込んでいました。コーディングエージェントのスキルフォルダを指定していた場合は、そこに残っている ~/.claude/skills/SKILL.md などのファイルを削除します。コーディングエージェントが difyctl を使うために必要なその他の準備については、コーディングエージェントのセットアップ を参照してください。

古いコマンドの置き換え

ほとんどのコマンドは、ID などの値を位置引数ではなく、--app-id のような名前付きフラグで受け取るようになりました。 各コマンドで使えるフラグをすべて確認するには、difyctl help <command> を実行します。 残っているグローバルフラグは --verbose、--json、--help の 3 つだけです。-v、-y、-w などの短縮フラグは廃止されました。--verbose は、エラーにサーバーの生のレスポンスを追加するだけになりました。確認を求めるコマンドはないため、--yes は削除してください。

サインインとセッション

アプリ

アプリの種類がわからない場合は、describe console_app で確認できます。 チャットボットの実行と、ファイルから入力を渡す Workflow アプリの実行は、次のように変わります:

人間の入力

人間の入力を待って停止した実行は、"paused" ではなく "status": "suspended" を返すようになりました。paused を確認しているスクリプトは更新してください。この結果の hints には、アクションごとの submit run form コマンドが含まれており、フォームトークンも入力済みです。 フォームを自分で送信する場合、resume app は submit run form に変わります:
resume app と違い、submit run form は実行を追跡しません。実行の続きを取得するには、返されたヒントの get run event を実行します。

DSL のエクスポートとインポート

エクスポートをファイルに保存するには、.data を取り出します:
古いビルドは保留中のインポートを自動で確定していましたが、新しいビルドは確定しません。ファイルの DSL バージョンがサーバーより新しい場合や、メジャーバージョンが古い場合、インポートは保留中になります。ファイルを信頼できる場合は、confirm console_app dsl_import --import-id <import-id> でインポートを完了します。 古いビルドは、インポート後に不足している統合も一覧表示していました。現在は、check console_app dependency を実行して確認します。

ワークスペースとメンバー

設定、difyctl スキル、ヘルプ、バージョン

スクリプトのその他の更新

JSON 形式での結果の読み取り

結果は常に JSON で出力されるようになり、-o は不明なフラグとしてエラーになります。スクリプトから -o json を削除してください。 -o name や -o yaml など、別の形式を指定していたスクリプトでは、jq などを使って JSON を自分で整形します。チャットボットの応答だけをテキストとして取り出すには、次のようにします:
スクリプトでは DIFY_OUTPUT=json を設定するか --json を渡して、どこで実行してもエラーが JSON で出力されるようにします。設定しない場合、stderr に出力されるエラーは、パイプでは JSON、ターミナルではテキストになります。

新しい終了コードとエラーコードへの対応

終了コードの番号はそのままですが、次の 2 つの変更があります:
  • 6 は、difyctl がサーバー上でコマンドを見つけられなかったことを表すようになりました。サーバーのコマンド一覧を取得できなかった場合と、入力した内容に一致するコマンドが一覧にない場合です。以前はバージョンの不一致を表していました。
  • 64 は、version --check-compat とともに廃止されました。
スクリプトでエラーコードによって分岐している場合は、次のように対応します:
  • server_4xx_other と server_5xx は server_error に置き換え、あわせて返される HTTP ステータスを確認します。
  • token_expired と expired_token は、終了コード 4 で終了する auth_expired に置き換えます。
  • version_skew、unsupported_endpoint、client_error、illegal_argument、config_schema_unsupported の分岐は削除します。
input_invalid や catalog_unavailable など、新しいコードの意味については、結果、エラー、終了コード を参照してください。

スクリプトでのリトライ

新しいビルドは、失敗したリクエストをリトライしません。--http-retry も廃止されました。リトライを前提としていたスクリプトには、独自のリトライ処理を追加してください。どのコマンドなら安全にリトライできるかについては、失敗したコマンドのリトライ を参照してください。

環境変数の更新

スクリプトと CI の設定から、次の環境変数を削除します:
  • DIFY_LIMIT:代わりに --limit を渡します。
  • DIFYCTL_HTTP_RETRY:代替手段はありません。
  • DIFYCTL_NO_COLOR:代わりに NO_COLOR を使用します。
  • DIFY_CACHE_DIR:キャッシュは設定フォルダに保存されるようになったため、DIFY_CONFIG_DIR だけで足ります。
DIFY_CONFIG_DIR と DIFY_WORKSPACE_ID は、これまでどおり使えます。 新しいビルドが読み取るすべての環境変数については、環境変数 を参照してください。
最終更新日 2026年10月23日