jdx/mise action
Actions for working with mise runtime manager
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 10, 2026
- License
- MIT
Pinned Snippet
uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| version | The version of mise to use. If not specified, will use the latest release. | no | — |
| sha256 | The SHA256 checksum of the mise binary to verify the download. | no | — |
| mise_dir | The directory that mise will be installed to, defaults to $HOME/.local/share/mise Or $XDG_DATA_HOME/mise if $XDG_DATA_HOME is set. Or $MISE_DATA_DIR if $MISE_DATA_DIR is set. | no | — |
| tool_versions | If present, this value will be written to the .tool-versions file | no | — |
| mise_toml | If present, this value will be written to the mise.toml file | no | — |
| install | if false, will not run `mise install` or `mise bootstrap` | no | true |
| install_args | Arguments to pass to `mise install` such as "bun" to only install bun. When a repo mise lock file is present, the action automatically adds `--locked` unless you already provided it. | no | — |
| bootstrap | if true, will run `mise bootstrap` instead of `mise install` | no | false |
| bootstrap_skip | Comma-separated bootstrap parts to skip, such as "tools,task". Passed as `mise bootstrap --skip`. | no | — |
| bootstrap_args | Additional arguments to pass to `mise bootstrap`. | no | — |
| install_dir | deprecated | no | — |
| cache | if false, action will not read or write to cache | no | true |
| cache_save | if false, action will not write to cache | no | true |
| cache_key_prefix | The prefix key to use for the cache, change this to invalidate the cache | no | mise-v1 |
| cache_key | Override the complete cache key (ignores all other cache key options). Supports template variables: {{version}}, {{cache_key_prefix}}, {{platform}}, {{file_hash}}, {{mise_env}}, {{install_args_hash}}, {{bootstrap_hash}}, {{default}}, {{env.VAR_NAME}} for environment variables, and conditional logic like {{#if version}}...{{/if}} | no | — |
| experimental | if true, will use experimental features | no | false |
| log_level | The log level to use for the action | no | info |
| working_directory | The directory that mise runs in | no | — |
| reshim | if true, will run `mise reshim --all` after setting up mise | no | false |
| add_shims_to_path | if false, will not add mise shims directory to PATH | no | true |
| github_token | GitHub token for API authentication to avoid rate limits when installing GitHub-hosted tools. Defaults to the automatic GitHub token. | no | ${{ github.token }} |
| fetch_from_github | If true (default), fetch the mise binary from GitHub. If false and using the latest version, fetch from mise.jdx.dev instead. | no | true |
| env | Automatically load mise env vars into GITHUB_ENV. Note that PATH modifications are not part of this. | no | true |
| wings_enabled | [experimental] Opt in to the mise-wings asset cache (https://mise-wings.en.dev) for this action invocation. When `true`, the action exports `MISE_WINGS_ENABLED=1` so the installed mise binary routes tool-install URLs (npm tarballs, GitHub release artifacts) through the per-org wings cache subdomains. Authentication is automatic via the runner's GitHub OIDC identity — no `mise wings login` step, no long-lived secret to rotate. The workflow must declare `permissions: id-token: write` so the OIDC token-issuer env vars are populated; without that, mise falls through to direct-origin fetches transparently. Default `false` is the conservative posture: a workflow with `id-token: write` (used for SLSA / AWS-OIDC / Sigstore / etc.) should not have its OIDC token sent to a third-party cache without explicit opt-in. Older mise binaries that don't speak wings ignore the env var entirely, so this is forward-compatible. Requires an active mise-wings subscription on the Clerk org linked to the GitHub org running the workflow; without one, the proxy 402s and mise leaves the cache off without affecting the workflow's success. | no | false |
Outputs
| name | description |
|---|---|
| cache-hit | A boolean value to indicate if a cache was hit. |