fix: add windows support for usage tool registry#8713
Conversation
The aqua backend for usage has Windows binaries available, but the registry entry restricted it to linux/macos. This caused Windows users to fall through to the cargo backend, which requires Rust to be installed. Fixes jdx/usage#538 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request adds Windows support for the usage tool by updating its registry configuration. The change correctly enables the aqua backend for Windows and adds windows to the list of supported operating systems. However, by making the aqua backend available on all platforms by default, it may cause issues on platforms like freebsd where it might not be supported. A more specific change is recommended to avoid potential breakages.
| "linux", | ||
| "macos", | ||
| ] }, | ||
| "aqua:jdx/usage", |
There was a problem hiding this comment.
While removing the platform restrictions enables Windows support, it makes the aqua backend available on all platforms. This could cause issues on platforms like freebsd if aqua:jdx/usage does not provide binaries for it. Users on freebsd would have previously used the cargo backend, but will now try to use aqua and potentially fail.
To be more precise and avoid potential issues, it's better to explicitly list the supported platforms.
| "aqua:jdx/usage", | |
| { full = "aqua:jdx/usage", platforms = [ | |
| "linux", | |
| "macos", | |
| "windows" | |
| ] }, |
Greptile SummaryThis PR fixes Windows support for the Key changes:
The logic is consistent with other registry entries that have been extended to Windows (e.g., Confidence Score: 5/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User installs 'usage' via mise] --> B{Platform?}
B -->|Windows| C_new[aqua:jdx/usage\n✅ Now eligible on Windows]
B -->|Linux / macOS| C_new
B -->|Linux / macOS| D[asdf:mise-plugins/mise-usage\nplatforms: linux, macos]
C_new -->|aqua backend succeeds| Z[✅ Installed via aqua]
C_new -->|aqua backend fails| E[cargo:usage-cli\nfallback — all platforms]
D -->|asdf backend fails| E
E --> F[✅ Installed via cargo]
style C_new fill:#d4edda,stroke:#28a745
style B fill:#fff3cd,stroke:#ffc107
Reviews (2): Last reviewed commit: "[autofix.ci] apply automated fixes" | Re-trigger Greptile |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| { full = "aqua:jdx/usage", platforms = [ | ||
| "linux", | ||
| "macos", | ||
| ] }, |
There was a problem hiding this comment.
Removed os field instead of adding windows to it
Low Severity
The PR description says "Add windows to the top-level os list" but the os field was removed entirely instead of being changed to os = ["linux", "macos", "freebsd", "windows"]. Since is_supported_os() treats an empty os slice as "all platforms supported," the tool is now advertised as available on every OS (e.g., openbsd, netbsd), not just the four intended ones. The cargo:usage-cli fallback mitigates practical impact, but the tool's stated platform support is broader than intended.
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.10 x -- echo |
24.1 ± 0.5 | 23.3 | 27.9 | 1.00 |
mise x -- echo |
24.1 ± 0.4 | 23.5 | 26.0 | 1.00 ± 0.03 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.10 env |
23.7 ± 0.8 | 22.8 | 29.6 | 1.00 |
mise env |
23.8 ± 0.6 | 22.6 | 28.1 | 1.01 ± 0.04 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.10 hook-env |
24.1 ± 0.4 | 23.4 | 26.1 | 1.00 |
mise hook-env |
24.6 ± 0.8 | 23.4 | 33.1 | 1.02 ± 0.04 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.10 ls |
23.4 ± 0.5 | 22.6 | 25.3 | 1.00 |
mise ls |
23.8 ± 0.7 | 22.7 | 26.7 | 1.02 ± 0.04 |
xtasks/test/perf
| Command | mise-2026.3.10 | mise | Variance |
|---|---|---|---|
| install (cached) | 152ms | 151ms | +0% |
| ls (cached) | 85ms | 85ms | +0% |
| bin-paths (cached) | 87ms | 87ms | +0% |
| task-ls (cached) | 852ms | 828ms | +2% |
### 🚀 Features - **(github)** read tokens from gh CLI hosts.yml config by @jdx in [#8692](#8692) - **(task)** support optional `args` and `env` fields in `run` entries by @jdx in [#8687](#8687) - **(task)** add --skip-tools flag to mise run by @jdx in [#8699](#8699) - **(vfox)** add try_get, try_head, try_download_file to Lua HTTP module by @jdx in [#8697](#8697) ### 🐛 Bug Fixes - **(config)** recognize SSH and other non-HTTPS URLs in get_repo_url by @modestman in [#8666](#8666) - **(docs)** add dark mode support to favicon by @jdx in [#8678](#8678) - **(env)** support multiple --env/-E flags by @jdx in [#8686](#8686) - **(github)** rename_exe renames correct binary when archive contains multiple executables by @jdx in [#8700](#8700) - **(implode)** include system data dir in implode cleanup by @jdx in [#8696](#8696) - **(install)** skip GitHub API calls for aqua tools in --locked mode by @jdx in [#8679](#8679) - **(install)** skip redundant provenance verification when lockfile has integrity data by @jdx in [#8688](#8688) - **(lock)** respect existing platforms in lockfile when running `mise lock` by @jdx in [#8708](#8708) - **(lock)** skip global config lockfile by default by @jdx in [#8707](#8707) - **(node)** expand tilde in default_packages_file path by @jdx in [#8709](#8709) - **(shell)** error when no version specified instead of silent no-op by @jdx in [#8693](#8693) - **(shim)** detect shims by checking shims directory instead of binary name by @jdx in [#8694](#8694) - **(task)** inherit task_config.dir for included TOML and file tasks by @jdx in [#8689](#8689) - **(task)** strip inline args when validating run.tasks references by @jdx in [#8701](#8701) - **(task)** include idiomatic version files in monorepo task toolset by @jdx in [#8702](#8702) - **(task)** improve error message when task files are not executable by @jdx in [#8705](#8705) - **(test)** update vfox provenance test for checksum-backed skip by @jdx in [#8703](#8703) - improve usage spec element support in tasks by @nkakouros in [#8623](#8623) - make env plugin (Module) vars available in Tera template context by @victor-founder in [#8682](#8682) - respect MISE_COLOR=0 for color_eyre error output by @jdx in [#8690](#8690) - add windows support for usage tool registry by @jdx in [#8713](#8713) ### 📚 Documentation - **(task)** clarify interactive task blocking behavior by @jdx in [#8685](#8685) - improve visibility of install_before setting by @jdx in [#8712](#8712) ### 📦 Registry - add rtk ([github:rtk-ai/rtk](https://github.com/rtk-ai/rtk)) by @bricelalu in [#8683](#8683) ### New Contributors - @victor-founder made their first contribution in [#8682](#8682) - @modestman made their first contribution in [#8666](#8666) - @bricelalu made their first contribution in [#8683](#8683)


Summary
usage, allowing it to work on Windows (aqua already has Windows binaries)windowsto the top-leveloslist for the usage toolcargo:usage-clibackend which requires Rust/cargo to be installedFixes jdx/usage#538
🤖 Generated with Claude Code
Note
Low Risk
Low risk registry metadata change; it only relaxes platform constraints for
usageso Windows installs select theaqua:jdx/usagebackend instead of falling back tocargo.Overview
Updates
registry/usage.tomlto remove platform restrictions from theaqua:jdx/usagebackend, making it eligible on Windows.Also drops the explicit top-level
osallowlist forusage, preventing Windows from falling through to thecargo:usage-clibackend.Written by Cursor Bugbot for commit 39c5548. This will update automatically on new commits. Configure here.