mirror of
https://github.com/langgenius/dify.git
synced 2026-07-25 05:26:11 -04:00
Consultation on the use of iteration and loop in dify #14727
Closed
opened 2026-02-21 19:18:30 -05:00 by yindo
·
18 comments
No Branch/Tag Specified
main
deploy/saas
agent/refactor-cloud-trial-app-capability
feat/saas-integrations-initial-load-performance
yanli/refactor-sandbox-and-e2b
deploy/konwledge
lts/1.13.x
deploy/agent
fix/webapp-expiration-time
feat/marketplace-homepage-redesign
feat/add-amptitude-to-agent
codex/defer-permission-query-until-workspace-ready
fix/esq1-190-invalidate-model-providers
cherry-pick/34832-lts-1.13.x
dependabot/uv/api/nltk-3.10.0
dependabot/uv/dify-agent/pypdf-6.14.2
hotfix/1.15.0-fix.17
feat/hitl-im-dev
deploy/dev
feat/cookieyes-ga
feat/marketplace-homepage-hero
deploy/enterprise
feat/gen-ui
hotfix/1.15.0-fix.16
copilot/console-api-dispatch-version
feat/ce-telemetry-dev
0721-happy-path-smoke
feat/add-ce-telemetry
perf/optimize-markdown-renderer
build/test-annotation
codex/migrate-knowledge-fs
copilot/fix-security-issue
release/e-1.11.4
hotfix/cus-1422-enterprise-api-timeout
feat/fix-undefined-answer-preview
hotfix/1.15.0-fix.15
laipz8200/human-input-loop-iteration
hotfix/1.15.0-fix.14
deploy/workflow-archive-catalog-discovery
dependabot/uv/api/pydantic-09001a97e5
laipz8200/completion-workflow-entry
dependabot/uv/api/lts/1.13.x/python-packages-6c2bf7110c
dependabot/uv/api/storage-4219cfbece
dependabot/uv/api/lts/1.13.x/dev-6fc4f8b90c
dependabot/uv/api/llm-46e0cee538
dependabot/uv/api/lts/1.13.x/vdb-72526f7860
dependabot/uv/api/opentelemetry-b8005594e1
dependabot/uv/api/lts/1.13.x/storage-4310e8b8d8
dependabot/uv/api/lts/1.13.x/database-c0fba9b420
dependabot/uv/api/lts/1.13.x/llm-5ce1d68736
dependabot/uv/api/lts/1.13.x/pydantic-09001a97e5
dependabot/uv/api/lts/1.13.x/opentelemetry-b8005594e1
dependabot/uv/api/google-68de7a6be5
dependabot/github_actions/lts/1.13.x/github-actions-dependencies-1a36b91cf1
dependabot/uv/api/lts/1.13.x/google-c93828e58f
dependabot/uv/api/lts/1.13.x/flask-1086fc46af
0717-knowledge-fs-contract
feat/secret-scrub-persistence
feat/llm-ft-timeout
feat/appdeploy-selected-workflow-dsl
0715-new-rag
laipz8200/llm-environment-variables
release/ee-1.15.0-hotfix
laipz8200/chore-remove-feature-preview-root-env
dependabot/go_modules/dify-agent-runtime/golang.org/x/net-0.55.0
hotfix/1.15.0-fix.12
hotfix/1.15.0-fix.12-cherrypick
hotfix/1.15.0-fix.13
build/invite-seats-precheck
hotfix/1.15.0-fix.11
laipz8200/workflow-persistence-mixed-mode
hotfix/1.15.0-fix.10
zhangxin/eng-558-licensed-seats-1.15
fix/wta-1307-effect-suspense-read
feat/cli-skills-agents
0713-vp-lint
fix/agent-roster-answer-completion-main
feat/pay-by-invoice
codex/run-external-e2e-main-ci
agent/remove-sandbox-bind-mounts
feat/agent-v2-e2e-test
hotfix/1.15.0-fix.9
hotfix/1.15.0-fix.8
build/test-archive-export
linw/restore-agent-message-delta-feat
hotfix/1.15.0-fix.7
hotfix/1.15.0-fix.6
codex/pr-38227-session-types
codex/pr-38227-session-scope-split
fix/ui-fix
hotfix/1.15.0-fix.4
codex/review-pr-38480
hotfix/1.15.0-fix.2
copilot/fix-web-full-stack-e2e-job
fix/dify-2738-agent-node-dsl-export
hotfix/1.15.0-fix.3
fix/scope-segment-batch-delete
laipz8200/scope-segment-route-lookup
chore/i18n-sync-7b7956f3e7ca-e901a65a
codex/upgrade-orpc-v2-beta
hotfix/1.15.0-fix.1
codex/upgrade-openapi-ts-autofix
codex/upgrade-next-16-3-preview
hotfix/1.15.0-fix.0
hotfix/web-detail-adjustment-before-release
release/e-1.15.0
codex/replace-lamejs-with-mediabunny
copilot/add-more-tests
deploy/archive-db-resilience
fix/studio-nav-home-button
hotfix/1.14.2-fix.13
worktree-token-expired-error-code
hotfix-1.14.2-fix.12
codex/agent-v2-state-graph
codex/refactor-deployment-detail-components
hotfix/1.14.2-fix.12
build/fix/workflow-error-hanging
work/dify-2585-agent-drafts-pr
fix/dify-2574-soul-files-kv
fix/dify-2554-debug-conversation-per-user
hotfix/1.14.2-fix.11
feat/openapi-rbac
test/cli-e2e-error-body-contract
build/optimize-clean-messages-eligible-apps
zhaohao1004/optimize-clean-messages-cursor
gh-readonly-queue/main/pr-37592-c71f03f5902031b7c02e61af3aff5c2dee6f7d85
build/optimize-clean-messages-cursor
feat/country
codex/vp-fmt-migration
hotfix/1.14.2-fix.10
hotfix/1.14.2-fix.9
hotfix/1.14.2-fix.8
hotfix/1.14.2-fix.7
hotfix/1.14.2-fix.6
codex/page-title-updates
feat/agent-mention-stable-ids
fix/guard-workspace-with-defualt-roles
build/pr-37227-free-plan-workflow-run-cleanup
feat/cli-e2e-test-suite
feat/ui-start-node
feat/hitl-file-in-body
copilot/dify-team-question-agent-node
fix/wta-438-device-sso-redirect-origin
hotfix/1.14.2-fix.5
feat/dev-snippet-fronted
feat/mcp-token-transfer
chore/keep-info-icon-the-same-postion
codex/local-app-list-tag-filter
feat/snippet-new
hotfix/1.14.2-fix.4
codex/migrate-var-reference-combobox
hotfix/1.14.2-fix.3
feat/marketplace-template
chore/deploy-saas-workflow
hotfix/1.14.2-fix.2
build/cli
codex/snp-406-pointer-position-ref
hotfix/1.14.1-fix.3
build/feat/model-type-migration-script
fix/webapp-disabled-not-jump-to-webapp-login
fix/lb-model-type-dedup
song/eng-379-file-output-check-executor
chore/bump-authlib-1.6.12
fix/tag-trigger-preserve-case
chore/bump-sendgrid-lts-1.13.x
fix/model-type-enum-construction
refactor/add-missing-override-decorator
work/web-mcp-1.14.1
copilot/check-runtime-limits
laipz8200/workflow-response-stream-filter
copilot/query-issues-pr-images
laipz8200/fix-autofix-contract-generation
copilot/fix-autofix-job-failure
codex/deprecate-sys-files-compat
codex/fix-scrolling-issue-with-overflow-visible
copilot/research-retrieval-attachment-consumption
copilot/research-agent-node-implementation
chore/upgrade-xyflow-v12
hotfix/1.14.1-fix.1
build/1.14.1-fix.1-langfuse
hotfix/1.14.1-fix.2
feat/lts-lazy-dialogue-count
fix/can-not-create-knowledge
codex/fix-marketplace-hero-shake
codex/tag-name-url-filter
upgrade-graphon-to-0-3-0
codex/app-delete-enter-confirm
build/sample-tidb
codex/revert-pr-35708
chore/remove-dify-deploy-script
chore/simpler-deploy
lts/1.13.x-fix-35910
feat/storage-path-prefix
hotfix/1.13.3-fix10
hotfix/1.13.3-fix9
hotfix/1.14.0-fix.4
hotfix/1.14.0-fix.3
hotfix/1.14.0-fix.2
revert-35748-4-30-open-api
feat/upgrade-graphon
copilot/research-celery-task-ttl
hotfix/1.14.0-fix.1
copilot/fix-css-issue
feat/s3-public-base-url
hotfix/1.13.3-fix8
build/depot-speed-benchmark-20260426
build/depot-speed-benchmark-20260426-warm
hotfix/1.13.3-fix7
feat/evaluation
fix/workflow-line
chore/dependency-upgrade
deploy/zhaohao
feat/replayable-stream
feat/show-the-hierarchy-in-phonenix-trace
p363-reviewed
build/billing-v3
copilot/list-contributions-to-dify
cursor/migrate-tooltip-to-popover-infotips
refactor/quota-service
feat/new-biliing-quota
hotfix/1.13.3-fix6
cursor/dify-ui-infra
p363-hjlarry
cursor/refactor-select-trigger-api
chore/lts-13x-bump-deps
codex/tighten-button-tone-types
locate-queue-autocreate-deps
hotfix/1.13.3-fix5
feat/new-agent-node
hotfix/1.13.3-fix4
feat/per-db-credential
chore/i18n-sync-208604a3a819-9220dd74
chore/i18n-sync-1b369cede4b4-0e13ce3f
chore/i18n-sync-c93e40212e4c-0e13ce3f
codex/fix-vite-audit-in-sdk-test
copilot/fix-agent-dialogue-input-limit
codex/dify-ui-package-migration
4-2-no-global-loading
fix/ps-not-send
3-18-no-global-loading
feat/support-agent-sandbox
hotfix/1.13.3-fix3
hotfix/1.13.3-fix2
4-1-unocss
build/feat/saas-quota-v4
feat/remove-unused-is-deleted-from-conversation
codex-add-podman-compose-dev-scripts
fix-partnerstack-cookie-sync
hotfix/1.13.3-fix1
3-31-vite-task-cache
test/add-test-case-for-prompt-editor
build/feat/saas-quota
build/feat/saas-quota-v2
deploy/agent-dev
yanli/fix-iter-log
review-myscale-sqli
codex/force-node24-for-actions
ci/docker-build-narrowing
chore/dependabot-alert-to-bot
verify-email-reset-flow
3-26-cache-lint-for-autofix
gh-readonly-queue/main/pr-34120-2cbcf9518e40104286a3034f3c3c688cd4ff9fbf
gh-readonly-queue/main/pr-34123-1c72b8d9db03b93b3fc7f86bc522e53806f5a8f0
gh-readonly-queue/main/pr-33960-38285aa1ac6de98614456f49b4d834fe503f4e58
p383
yanli/phase3-code-scope
test/workflow-app
codex/migrate-old-toast-calls-and-update-translations
hotfix/1.13.2-fix2
focal-quokka
codex/fix-issue-33422-in-repository
hotfix/1.13.2-fix1
copilot/refactor-test-config-leak-fix
build/release-1.13.2
fix-kpa-issue
build/release-1.13.1-rc.3
3-18-dev-with-http2
build/release-1.13.1-rc.2
3-16-revert-changes
3-16-add-csp
build/release-1.13.1-rc.1
feat/source-for-plugin-tasks
3-16-next-lib
revert-33484-dependabot/pip/api/python-packages-2eba66ec58
move-trigger-nodes
copilot/refactor-test-config-leak-detection
fix/enterprise-api-error-handling
release/e-1.12.1
fix/vinext-deps
yanli/docx-image-render
copilot/analyze-dify-code
deploy/clean-task-trace
copilot/sub-pr-33044
3-6-type-check
feat/model-provider-refactor
copilot/refactor-unnecessary-cast-call
build/export-app-messages
1.12.1-otel-ee
hotfix/1.13.0-fix.4
update-checker
test/ui-primitive-wrapper-tests-pr
hotfix/1.13.0-fix.3
refactor/base-comp
deploy/memory-usage
hotfix/1.13.0-fix.2
hotfix/1.13.0-fix.1
build/sandbox-clean-job-260302-1
build/sandbox-clean-job
fix/otel-upgrade-e-1.12.1
build/optimize-workflow-run-cleanup
move-core-prompt-runtime
hotfix/1.12.1-fix.6
copilot/remove-pm2-from-docker
move-token-buffer-memory
32589-main-repo
fix/access-mode-sso-verified
refactor/remove-workspace-mutate-from-context
2-11-fix-lint
feat/plugins-marketplace-ssr-prefetch-loading
build/message-clean-performance-log
refactor/template-transform-node
hotfix/1.12.1-fix.5
2-9-stable-test-2
pre-align-hitl-frontend
fix/preserve-UNC-paths-in-conversation-opner
hotfix/1.12.1-fix.4
hotfix/1.12.1-fix.3
feat/add-update-all-plugin-button
refactor/share
hotfix/1.12.1-fix.2
test/inprove-quality
feat/add_templates
hotfix/1.12.1-fix.1
fix/ee-1511-set-default-provider-user-id-bug
copilot/fix-pnpm-test
hotfix/1.12.1-fix.0
feat/vibe-wf
fix/fix-test
fix/console_ns_import
release/1.12.1
fix/workflow-sync-draft
refactor/ssr-prefetch-zustand-removal
1-24-kubb-generate
refactor/migrate-react-window-to-tanstack-virtual
fix/input-ime-onpressenter
1-30-fix-failed-test
feat/structured-output-with-sandbox
yanli/init-ty
hotfix/1.11.4-fix.4
fix/trigger-plugin-output
fix/parallel-generation-render
refactor/configuration
yanli/add-opaque-body
build/billing-refactor-test-2026012701
refactor/debug-and-preview-store
refactor/tools-workflow
build/debug-billing-refactor
build/billing-service
build-billing-service
feat/add-agentation
refactor/app-components
build/collaboration
copilot/sub-pr-31424
refactor/local-storage
refactor/skill-bundler
hotfix/1.11.4-fix.3
build/archive-workflow-run
feat/pull-a-variable
hotfix/1.11.4-fix.2
copilot/sub-pr-30849
hotfix/1.11.4-fix.1
1-21-test-window-is-not-defined
revert-30727-feat/model-total-credits
copilot/sub-pr-31283
zhsama/multi-turn-popup
zhsama/panel-var-popup
12-19-demo-for-app-store
refactor/migrate-app-detail-to-tanstack-query
build/clear-message
feat/credential-sync-fix-ee
feat/llm-first-token-timeout
zhsama/assemble-var-input
release/e-1.11.2
feature/task-quadrant-view
zhsama/llm-warning-ui
build/clear-workflow-run
zhsama/agent-at-nodes
build/1.11.4
release/e-1.6.0-fix.1
release/e-0.15.8-fix.1
1-14-remove-web-app-access-token
refactor/plugins-detail
fix/reset-dev
feat/llm-support-tools
feat/knowledge-summary-index
fix/preact-security-vulnerability
copilot/fix-clear-query-params-test
refactor/query-params-nuqs
chore/upgrade-pnpm-10.28.0
8c92-update-api-core
detached
chore/i18n-sync-20260107-104636
chore/i18n-sync-20260107-102654
feat/grouping-branching
feat/agent-node-v2
hotfix/1.11.2-fix.3
feat/llm-node-support-tools
refactor/remove-axios-dependency
refactor/web-service-hooks
fix/pwa-plugin-migration
chore/refactor-text-generation
hotfix/1.11.2-fix.2
release/e-1.11.1
release/e-1.9.2
release/e-1.8.2
hotfix/1.11.2-hotfix-1
refactor/chat-messages-service-api
fix/knowledge-retrieval-node-affected-by-past-version
fix/esbuild-dependabot-145
chore/automated-i18n-updates-02e0fadef78f0c888b79e7a52ae6714ac73effdc
chore/automated-i18n-updates-eb73f9a9b9fc9eee6be786d2bf5f41fc77e240c4
hotfix/1.11.1-2
refactor-text-generate-item
feat/end-user-oauth
feat/add-qdrant-to-tidb-migration
codex/run-pnpm-lint-fix-and-commit-changes
feat/document-test
feat/e2e-testing
deploy/trigger-dev
hotfix/1.11.1-1
e-260
refactor/use-log-react-query
feat/fallback-interface-for-unauthorized-datasource-node
hotfix/1.10.1-fix.4
refactor/app/components/app/text-generate/item/index.tsx-and-add-test
release/e-1.6.0
hotfix/1.10.1-fix.3
hotfix/1.10.1-fix.2
feat/tracking-1203
deploy/end-user-oauth
hotfix/1.10.1-fix.1
refactor/marketplace-react-query
feat/detect-cognitive-complexity
fix/codeowners
fix/httpx_timeout_parameters
feat/end-user-auth-dummy-apis
chore/re-point-doc-urls
fix/share-markdown-xss
feat/data-tracking
feat/memory-orchestration-be
build/trigger-billing
chore/remove-docker-legacy-dir
copilot/reverse-engineer-dify-application
feat/amplitude
feat/trigger-saas
mysql-adapt
test/build-diff-edition
feat/no-root-image
feat/trigger
feat/ga-tracking
feat/collaboration
mysql-adaptation
feat/sqlalchemy-type-annotations
build/trigger-1
build/self-tenant-queue
mcp-conditional-capability
fix/mcp-capability
hotfix/1.9.2-fix.3
hotfix/1.9.2-fix.2
feat/iteration-node
hotfix/1.9.2-fix.1
hotfix/1.9.1-fix.1
e1ca7a9bdb0443b9f027b6de16
fix/login-status
feat/gtag-1016
test/monaco-editor-and-remix-icon-upgrade
copilot/fix-ce7a9189-f70c-4ea9-81ba-3f49303104d6
feat/memory-orchestration-be-dev-env
build/trigger
feat/add-knowledge-pipeline-template-command
chore/workflow-performance
copilot/fix-fc039c44-aa24-4844-82b2-e9ac237a13e9
test/log-refactor
chore/ssrf-config
feat/pinecone-vdb
copilot/fix-d8c5989d-5a30-418f-8dc4-099cf1f37218
deploy/rag-dev
hotfix/1.9.0-fix.2
pinecone
fix/document-query
feat/trigger_backup
feat/playwright-integration
feat/trigger_merging
feat/chunk-deduplication
feat/crendential-policy-default-check
feat/credential-policy
release/e-1.8.1
fix/template-list
feat/end_user
feat/trigger-fe
revert-25628-refactor-24421-app-datasets-part1
fix/plugin-tag-fallback
fix/unselect-credential
feat/limit-conv-var-desc-length
feat/rag-pipeline-service-api
fix/empty-plugin-list
feat/plugin-readme
feat/plugin-readme-fe
feat/container-node-extract-mapping
bug1
fix/model-credential
feat/big-var-value-show-fe
build/1.7.2-fix.2
release/e-1.7.2
build/boolean-type
feat/oauth-provider-fe
build/0.7.2-fix.1
feat/model-credentials
feat/model-auth
feat/rag-2-preview
release/e-1.7.1
fix/hotfix-tool-provider-deadlock
feat/knowledge-pipeline-access-control
config-tool-file-size
13604-when-using-redis-cluster-for-caching-add-global_prefix-to-all-keys-cached-by-redis
feat/model-credentils
build/oauth
feat/oauth
feat/human-input
build/plugin-auto-upgrade
test/performance
feat/tool-plugin-oauth
feat/tool-oauth
temp-feat-owner-transfer-enterprise-frontend
release/e-3.0.2
feat/plugin-auto-upgrade-fe
chore/offline-the-sys-files
feat/rag-pipeline
feat/r2
release/e-3.2.0
wtw/rag-pipeline
feat/add-retrival-field-in-dataset
feat/webapp-verified-sso-main
fix/app-not-published-error
feat/webapp-verified-sso-260
v141-hotfix
fix/20326-tool-invoke-error-instance-account
fix/19933-account-object-has-no-attribute-_current_tenant-when-workflow-uses-workflow-as-tool-node
hotfix/0519
fix/e-legacy-clean-up
fix/admin-permission
fix/e-admin-permission
feat/model-memory
feat/webapp-auth-api
1.0.0-fix
revert-17133-fix/i16990-text-to-language-settings
e-0156
hotfix/translation-fix
fix/slider-style-error
e-0154
release/0.15.6-alpha-1
cohere/cleanup-free-tenants-logs
chore/auto-dify
fix/rag-infinity-spaces-loop
fix/dataset-admin
fix/expose-debugging-port
fix/tool-info
fix/aws-s3-r2-compatible
feat/knowledge-metabase
fix/fail-branch-stream-output-error
release/0.15.3-fix1
feat/14009-feature-request-support-for-retrieving-historical-conversations-without-from-enduser-id
feat/upgrade-unstructured-version-10.2
feat/classnames-sort
feat/upgrade-unstructured-version
fix/version-check
fix/handle-agent-none-value
fix/agent-params-pasring
fix/agent-parallel
feat/knowledge-dark-mode
feat/custom-tool-input
release/0.15.2-fix1
0.15.1-admin-apis
feat/support-docx-image-view
feat/agent-stream-output
feat/workflow-node-dark-mode
fix/switch-strategy-clean-param
fix/chore-fix
opik-monitoring
provider-gpustack
feat/mecab-japanese-keywords
feat/retry-single-step-debug
revert-12086-feat/parent-child-retrieval
fix/remove-the-retry-index-field
fix/11839
feat/node-execution-retry
feat/support-extractor-tools-update-wip
feat/update-tidb-batchget-endpoint
fix/iteration-thread-pool-error
feat/support-multi-token-count
feat/parent-child-retrieval-api
fix/app-icon-is-missing
feat/support-extractor-tools-update
test/disable_site
build/add-dependabot
feat/support-extractor-tools
fix/docx-extract-image-ssrf
fix/redis-slow-in-gevent
fix/9772-internal-server-error-when-custom-disclaimer-longer-than-64-characters
alert-autofix-89
build/eslint-react-refresh-plugin
build/switch-to-pnpm
revert-9424-feat/update-dataset-clean-rule
fix/external-knowledge-retrieval-issues
feat/login-type-coontrol
feat/external-knowledge-api
feat/rag-external-knowledge-with-api
feat/external-knowledge
fix/notion-table-extract
fix/tooltip
feat/workflow-add-block-shortcut
feat/update-docs
fix/note-node-zoom-issue
fix/model-runtime-quato-issue
fix/db-lock-timeout
feat/new-tooltip
feat/web-app-sso
chore/optimize-app-workflow-deletion-slow-sql
fix/trace_app_config_app_id_idx
fix/extra-table-tracing-app-config
feat/update-beat-job-time-to-env
fix/index-estimate-error
chore/enterprise-license-status
fix/remove-tsne_position
feat/2p
feat/aws-iam-auth-check
feat/add-flashrank
feat/support-milvus-2.4
feat/add-resource-from-tools
bai
1.16.0
1.16.0-rc1
1.15.0
1.14.2
1.14.1
1.14.0
1.13.3
1.13.2
1.13.1
1.14.0-rc1
1.13.0
1.12.1
1.12.0
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.1-fix.1
1.10.1
1.10.0
1.10.0-rc1
1.9.2
1.9.1
1.9.0
2.0.0-beta.2
2.0.0-beta.1
1.8.1
1.8.0
1.7.2
1.7.1
1.7.0
1.6.0
1.5.1
1.5.0
1.4.3
1.4.2
0.15.8
1.4.1
1.4.0
1.3.1
0.15.7
1.3.0
0.15.6
1.2.0
0.15.6-alpha.1
1.1.3
0.15.5
1.1.2
0.15.4
1.1.1
1.1.0
1.0.1
1.0.0
0.15.3
0.15.2
0.15.1
1.0.0-beta.1
0.15.0
0.14.2
v0.8.3-fix1
0.14.1
0.14.0
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.2
0.11.1
0.10.2-fix1
0.11.0
0.10.2
0.10.1
0.10.0
0.10.0-beta3
0.9.2
0.9.1-fix1
0.10.0-beta2
0.10.0-beta1
0.9.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.8.0-beta1
0.7.3
0.7.2
0.7.1
0.7.0
0.6.16
0.6.15
0.6.14
0.6.13
0.6.12-fix1
0.6.12
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0-fix1
0.6.0
0.6.0-preview-workflow.2
0.5.11-fix1
0.5.11
0.6.0-preview-workflow.1
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.34
0.3.33
0.3.32
0.3.31-fix3
0.3.31-fix2
0.3.31-fix1
0.3.31
0.3.30
0.3.29
0.3.28
0.3.27
0.3.26
0.3.25
0.3.24
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
Labels
Clear labels
Knowledge Pipeline
Proposal
WIP
cloud
dependencies
feat:webapp
good first issue
outdated
performance
pull-request
python:uv
refactor
size:L
stale
status: accepting prs
status: blocked
status: in discussion
stt & tts
vulnerablity
web
wont-fix
🌊 feat:workflow
🌚 invalid
🐞 bug
👻 feat:rag
💪 enhancement
📚 documentation
🔨 feat:tools
🙋♂️ question
🙏 help wanted
🤔 cant-reproduce
🤖 feat:agent
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: langgenius/dify#14727
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @chenxs-sx on GitHub (Jun 19, 2025).
Self Checks
1. Is this request related to a challenge you're experiencing? Tell me about your story.
How should I output the iteration or loop tool in the workflow? I see that in the new version of Dify, iteration and loop no longer have a direct menu to return or end
The function here is inconsistent with the description and sample pictures in the document
Is there anyone who can help me answer this question?
2. Additional context or comments
No response
3. Can you help us with this feature?
@dosubot[bot] commented on GitHub (Jun 19, 2025):
In the latest version of Dify, iteration and loop nodes have moved to a more implicit, structure-driven model. There is no longer a direct UI menu for "return" or "end" actions. Instead, completion is determined by the workflow's graph structure and node configuration—such as break conditions, loop counts, and outputs set in the configuration panels. This means the end of an iteration or loop is inferred automatically based on how you connect and configure nodes, not by a manual menu action. This change was made to improve consistency and robustness in workflow execution, but it does mean the UI and documentation may be out of sync right now [source].
For configuring iteration and loop nodes: you can set up parallel execution, error handling modes (terminate, continue on error, or remove abnormal output), loop variables, break conditions, and loop counts directly in the node panels. The backend now manages the orchestration, and the frontend focuses on configuration and visualization [iteration node code] [loop node code].
If you want to contribute, updating the documentation or UI hints to reflect this new implicit model would be very helpful for other users. Let me know if you want more technical details or examples for a specific workflow scenario!
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jun 19, 2025):
I have tried many methods, but I cannot output the result of the loop to the next step for parameter extraction. Can you provide more specific instructions?
Thank you very much
@dosu
@dosubot[bot] commented on GitHub (Jun 19, 2025):
To pass the result of a loop to the next step for parameter extraction in Dify, you need to make sure the outputs from your LoopNode are correctly referenced by the downstream node (like ParameterExtractorNode) using variable selectors.
Here’s how it works:
The LoopNode stores its outputs in a variable pool, using keys based on the node ID and the output variable name (for example,
['<loop_node_id>', '<output_key>']). The outputs include your loop variables and the loop round count. You can configure which variables to output in the LoopNode’s settings panel. LoopNode implementationIn your ParameterExtractorNode (or any node that needs the loop result), set the variable selector (often called
queryor similar in the config) to match the output key from the LoopNode. For example, if your LoopNode’s ID isloop_1and your output variable isresult, use['loop_1', 'result']as the selector. ParameterExtractorNode implementationThe workflow engine will pass the value from the variable pool to the next node, allowing you to extract or process it as needed. GraphEngine variable pool logic
If you’re not seeing the expected output, double-check:
If you share your node IDs and output variable names, I can help you write the exact selector. Let me know if you need a concrete example or run into a specific error!
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jun 19, 2025):
Can I trouble you to provide an example?
I am currently executing a query in a loop until a task execution result is obtained (a query operation is time-consuming), and then the next step obtains the result after the loop.
The input variable parameter of the loop is requestid->string, and the output variable is result -> Array[Object]
It happens that this example can be used for document updates, hehe.
Thank you very much, @dosu
@dosubot[bot] commented on GitHub (Jun 19, 2025):
Here’s a concrete example for your scenario, based on the current Dify workflow engine:
LoopNode configuration:
requestid(type: string).result(type: array[object]).resultis not empty. This is done by adding a condition in the loop node config referencing the output variable (e.g.,['<loop_node_id>', 'result']is not empty).Inside the loop: Place your query node(s) that use
requestidas input and produce aresultarray of objects as output.After the loop: To extract the result, use a ParameterExtractorNode (or any node that needs the loop output). In its config, set the variable selector (query) to
['<loop_node_id>', 'result']. This will pull the final array of objects produced by the loop. For example, if your LoopNode’s ID isloop_1, use['loop_1', 'result']as the selector.Passing data: The workflow engine manages the variable pool, so as long as your selectors match the node IDs and variable names, the data will flow correctly to the next step [LoopNode implementation] [ParameterExtractorNode implementation].
Example variable selector for the next node:
If your LoopNode is
loop_1and your output isresult, set the next node’s input/query to['loop_1', 'result'].Common pitfalls:
Let me know if you want a JSON config snippet or have a specific node ID/variable name you want to use!
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jun 19, 2025):
You can see the screenshot I provided. In the loop, there is no setting menu for output variables. I expected it to output result -> Array[Object], but there is no button for output, and the output result cannot be selected in the downstream node.
@dosubot[bot] commented on GitHub (Jun 19, 2025):
This is a known limitation in the current Dify workflow: the LoopNode only exposes output variables if you explicitly define them as loop variables in the loop node’s configuration panel. There isn’t a separate “output” menu or button—only loop variables you create will be available as outputs to downstream nodes. To output result → Array[Object], you need to add a loop variable named result with type array[object] in the loop node’s config. Then, make sure your loop logic assigns the desired value to this variable. Only then will result be selectable in downstream nodes. There’s no automatic way to pass out intermediate node results unless you do this, which can be confusing since it’s not clearly documented or obvious in the UI yet. If you need step-by-step help on setting up the loop variable, let me know!
LoopNode implementation reference
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jun 19, 2025):
I have previously set the loop variable for the loop, and the command for the variable is the same as the variable name output by the code execution in the loop. There is a search variable below the loop variable, and this value can only be selected from the upstream variable parameter. The output result of this loop is the output result of the upstream node of the loop, not the output result of my code execution.
Thank you very much。 @dosu
@dosubot[bot] commented on GitHub (Jun 19, 2025):
This is a current limitation in Dify’s workflow engine: even if you set a loop variable with the same name as your code output, the loop variable’s value will only reflect what you explicitly assign to it inside the loop. By default, the loop variable picker only lets you select upstream variables, not dynamic results from code execution within the loop. That’s why your loop output is showing the upstream value, not the code result.
To solve this, add a Variable Assigner Node inside your loop, after your code execution node. Use it to assign the code node’s output (e.g.,
['<code_node_id>', 'result']) to your loop variable (e.g.,['<loop_node_id>', 'result']). This bridges the gap and makes the code result available as the loop output for downstream nodes. This is the recommended pattern for dynamic loop outputs in Dify right now reference.If you want a step-by-step example or JSON config, let me know your node IDs and variable names!
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jun 19, 2025):
I have previously used variable assignment after the code is executed in the loop, but this variable assignment can only select upstream parameters, or clear the overwrite, etc., and cannot select the result of the code execution in the loop.
@dosu
@dosubot[bot] commented on GitHub (Jun 19, 2025):
This is a current limitation in Dify’s workflow engine: inside a loop, the Variable Assigner node can only select variables that are already defined as loop variables or are available from upstream nodes. It cannot directly select the output of a code execution node from the same loop iteration, because the workflow engine scopes variable visibility to ensure determinism and safety—outputs from sibling nodes in the same iteration are not available for assignment in real time. Only loop variables explicitly declared in the loop configuration are accessible throughout the loop and to downstream nodes, and these must be assigned explicitly within the loop logic, not dynamically from code node outputs at runtime [LoopNode implementation].
As a workaround, you need to ensure that your code node writes its output to a loop variable (e.g.,
result) by explicitly assigning it within the loop logic, possibly by routing the code node’s output through a Variable Assigner node that targets the loop variable. However, the Variable Assigner node can only reference variables that are already in the variable pool at that point in the workflow, which usually means upstream or pre-declared loop variables [VariableAssignerNode implementation].If your workflow requires passing dynamic outputs from a code node to a loop variable within the same iteration, you must structure your loop so that the code node’s output is assigned to the loop variable as part of the loop’s explicit variable assignment logic. There is no UI support yet for dynamically selecting sibling node outputs inside a loop body.
Recent updates have improved variable persistence and conversation variable support, but the core limitation around loop variable assignment remains [PR 20699].
If you want to contribute, clarifying this in the documentation or proposing a UI/engine enhancement for dynamic variable assignment inside loops would be valuable.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jul 2, 2025):
The 1.5.0 version of dify encountered a problem again. Using the variable assignment tool, the code execution result could not be obtained.
Code execution: Output results: ids (list), message (for subsequent loop variable assignment)
The loop situation is as follows:
After the loop ends, the result after the variable assignment is output
Execution action:
Originally, after the variable assignment, there was a node to end the loop. The loop end condition set at that time was that message was not empty, but the loop failed to take effect and ended after only one execution without starting the loop;
Therefore, I deleted the end loop node after the variable assignment, and set the error parameter separately in the loop code execution to determine whether to end the loop. When this solution was adopted, the variable assignment node was suspected to fail to execute.
@dosu
@dosubot[bot] commented on GitHub (Jul 2, 2025):
This is a known limitation in Dify 1.5.0: inside a loop, the Variable Assigner node can only access variables that are already in the variable pool at that point—typically upstream variables or explicitly declared loop variables. It cannot directly reference the output of a code execution node from the same loop iteration, because sibling node outputs are not available for assignment in real time. As a result, even if you try to assign the code node’s output to a loop variable using the Variable Assigner, it won’t work unless the output is already in the pool under the expected selector at that moment in the workflow. This is why your assignment appears to fail and why the loop end condition may not behave as expected see code details.
The current best practice is to ensure your code node writes its output directly to a loop variable (by explicit assignment in the loop logic), and to structure your workflow so that the assignment happens after the code node executes, referencing the correct variable selector. There’s no built-in workaround for dynamic assignment from sibling nodes within the same loop iteration see implementation.
If you want to contribute, clarifying this in the docs or proposing an engine/UI enhancement for dynamic variable assignment inside loops would be valuable. Let me know if you want a concrete example or have a specific workflow structure you want to debug!
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jul 2, 2025):
The code in the loop executes the result. I explicitly output the result and use the variable assigner to assign the value to the loop variable. This process does not take effect.
@dosu
@chenxs-sx commented on GitHub (Jul 2, 2025):
Please see my screenshot:
@dosu
@dosubot[bot] commented on GitHub (Jul 2, 2025):
Your workflow is running into a core limitation of Dify 1.5.0: inside a loop, the Variable Assigner node cannot directly access the output of a code execution node from the same loop iteration. The variable picker in the Variable Assigner only shows upstream or pre-declared loop variables, not sibling node outputs. This means that even if you explicitly output a value from your code node and try to assign it to a loop variable, the assignment will not take effect unless the variable is already present in the variable pool at that point in the workflow. This is by design in the current engine and is confirmed by the codebase and recent updates (LoopNode implementation, VariableAssignerNode implementation).
There is no workaround to dynamically assign the output of a code node to a loop variable within the same iteration using the Variable Assigner. The only variables reliably available for assignment are those declared as loop variables or passed from upstream. The best you can do is ensure your code node writes directly to a loop variable if possible, or restructure your workflow so that the needed value is available as an input to the loop, not as a sibling output.
If you want to see this improved, a feature request or documentation update would help clarify this for other users. Let me know if you want a step-by-step example of the current best practice or have a specific workflow structure you want to debug.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

@chenxs-sx commented on GitHub (Jul 2, 2025):
But my requirement is just to be able to loop through a code and output its results.
@dosu
@dosubot[bot] commented on GitHub (Jul 2, 2025):
This is a core limitation in Dify 1.5.0: you cannot directly output the result of a code node from inside a loop to downstream nodes using the Variable Assigner, because the workflow engine only allows assignment from variables already in the variable pool at that point—typically upstream or explicitly declared loop variables, not outputs from sibling nodes in the same loop iteration. Even if you explicitly output a value from your code node and try to assign it to a loop variable, the assignment will not take effect unless the variable is already present in the pool at that moment. There is currently no built-in workaround for this; the only variables reliably available for assignment are those declared as loop variables or passed from upstream nodes. This is confirmed by recent code and PRs, and the limitation remains in place despite recent improvements to variable persistence and debugging features (source).
If your requirement is to loop through a code node and output its results, the only current options are to (1) ensure your code node writes directly to a loop variable if possible, or (2) restructure your workflow so the needed value is available as an input to the loop, not as a sibling output. If you want to see this improved, contributing a feature request or documentation update would help clarify this for others. If you want help designing an alternative workflow, let me know your exact node structure and I can suggest a possible approach.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
