Skip to content

fix(task): prevent MISE_TASK_OUTPUT from propagating to nested tasks#6860

Merged
jdx merged 1 commit into
mainfrom
fix-task-output-propagation
Nov 2, 2025
Merged

fix(task): prevent MISE_TASK_OUTPUT from propagating to nested tasks#6860
jdx merged 1 commit into
mainfrom
fix-task-output-propagation

Conversation

@jdx

@jdx jdx commented Nov 2, 2025

Copy link
Copy Markdown
Owner

Summary

Fixes #6812 by removing the export of MISE_TASK_OUTPUT environment variable from the task executor. This ensures that child tasks respect their own output settings (quiet, silent, etc.) instead of inheriting the parent's output mode.

Problem

Previously, when a task with multiple dependencies called a nested task:

  1. Parent task with multiple deps → MISE_TASK_OUTPUT=prefix was set and exported
  2. Child task inherited this env var → overrode its own quiet=true setting
  3. Result: Child task showed prefixed output instead of respecting quiet

Solution

Removed the automatic export of MISE_TASK_OUTPUT at src/task/task_executor.rs:180. This variable was needed for a feature that no longer exists. Each task now properly respects its own output configuration without interference from parent tasks.

Changes

  • src/task/task_executor.rs: Removed env.insert("MISE_TASK_OUTPUT", ...)
  • e2e/tasks/test_task_nested_quiet: Added test to verify quiet directive is respected in nested task calls

Test Plan

  • ✅ All existing task tests pass
  • ✅ New test verifies quiet tasks work correctly when called from parent tasks with multiple dependencies
  • ✅ Ran full task test suite (mise run test:e2e tasks/)

🤖 Generated with Claude Code


Note

Removes setting MISE_TASK_OUTPUT in the task executor so nested tasks honor their own output modes; adds an e2e test to verify quiet child tasks under multi-dep parents.

  • Core/task executor
    • Remove export of MISE_TASK_OUTPUT from src/task/task_executor.rs to avoid overriding child task output modes.
  • Tests
    • Add e2e/tasks/test_task_nested_quiet verifying a quiet child task remains quiet when run from a parent with multiple dependencies (prefix mode).

Written by Cursor Bugbot for commit d73997f. This will update automatically on new commits. Configure here.

Removes the export of MISE_TASK_OUTPUT environment variable from task
executor. This ensures that child tasks respect their own output settings
(quiet, silent, etc.) instead of inheriting the parent's output mode.

Fixes #6812 where quiet=true was ignored when a task was called from
another task with multiple dependencies.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings November 2, 2025 12:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Fixes a bug where the MISE_TASK_OUTPUT environment variable was incorrectly propagating from parent tasks to child tasks, overriding child task output settings like quiet directives.

  • Removed automatic export of MISE_TASK_OUTPUT environment variable in task executor
  • Added test case to verify quiet tasks work correctly when called from multi-dependency parent tasks

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/task/task_executor.rs Removed code that exports MISE_TASK_OUTPUT env variable to prevent interference with child task output settings
e2e/tasks/test_task_nested_quiet Added test to verify quiet directive is respected in nested task calls

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jdx jdx enabled auto-merge (squash) November 2, 2025 12:45
@github-actions

github-actions Bot commented Nov 2, 2025

Copy link
Copy Markdown

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.11.1 x -- echo 19.4 ± 0.3 18.6 20.3 1.00
mise x -- echo 20.0 ± 0.4 19.1 22.1 1.03 ± 0.02

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.11.1 env 19.1 ± 0.6 18.2 25.2 1.00
mise env 19.5 ± 0.6 18.7 25.0 1.02 ± 0.05

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.11.1 hook-env 19.1 ± 0.3 18.4 20.5 1.00
mise hook-env 19.6 ± 0.4 18.7 21.5 1.02 ± 0.02

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.11.1 ls 16.6 ± 0.3 16.0 18.0 1.00
mise ls 17.0 ± 0.4 16.1 18.3 1.02 ± 0.03

xtasks/test/perf

Command mise-2025.11.1 mise Variance
install (cached) 109ms 109ms +0%
ls (cached) 66ms 66ms +0%
bin-paths (cached) 72ms 72ms +0%
task-ls (cached) 449ms 491ms -8%

@jdx jdx merged commit c56c17c into main Nov 2, 2025
30 checks passed
@jdx jdx deleted the fix-task-output-propagation branch November 2, 2025 13:02
jdx pushed a commit that referenced this pull request Nov 3, 2025
### 📦 Registry

- rename mise-haskell -> asdf-haskell by @jdx in
[#6859](#6859)

### 🚀 Features

- **(cli)** switch manpage generation from clap_mangen to usage by @jdx
in [#6868](#6868)
- **(task)** add selective stream suppression for silent configuration
by @jdx in [#6851](#6851)

### 🐛 Bug Fixes

- **(backend)** support platform-specific bin and bin_path configuration
by @dragoscirjan in [#6853](#6853)
- **(generate)** update git pre-commit script to use null separator by
@azais-corentin in [#6874](#6874)
- **(stubs)** lookup for aqua tools stubs fails because of tool options
by @roele in [#6867](#6867)
- **(task)** resolve aliases correctly for monorepo tasks by @jdx in
[#6857](#6857)
- **(task)** prevent MISE_TASK_OUTPUT from propagating to nested tasks
by @jdx in [#6860](#6860)
- **(tasks)** simplify task command display to show only first line by
@jdx in [#6863](#6863)
- **(tasks)** implement smart flag routing for task arguments by @jdx in
[#6861](#6861)
- **(xonsh)** prevent KeyError when activating in nested shells by @jdx
in [#6856](#6856)
- Don't set empty env var if decryption fails with age.strict=false by
@iamkroot in [#6847](#6847)

### 🚜 Refactor

- **(task)** split run.rs into modular task execution pipeline by @jdx
in [#6852](#6852)

### New Contributors

- @dragoscirjan made their first contribution in
[#6853](#6853)
spdiswal added a commit to rainstormy/github-action-validate-commit-messages that referenced this pull request Jan 5, 2026
The behaviour of the `task_output` setting has changed since mise
version 2025.11.2, causing it to print the first line of the tasks'
`run` commands to the console. This commit makes it quiet again.

See also jdx/mise#6860.
spdiswal added a commit to rainstormy/github-action-validate-commit-messages that referenced this pull request Jan 5, 2026
The behaviour of the `task_output` setting has changed since mise
version 2025.11.2, causing it to print the first line of the tasks'
`run` commands to the console. This commit makes it quiet again.

See also jdx/mise#6860.
spdiswal added a commit to rainstormy/github-action-validate-commit-messages that referenced this pull request Jan 5, 2026
The behaviour of the `task_output` setting has changed since mise
version 2025.11.2, causing it to print the first line of the tasks'
`run` commands to the console. This commit makes it quiet again.

See also jdx/mise#6860.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants