Installation
curiosity-cli ships as the Curiosity.CLI NuGet package, registered as a dotnet global tool. It targets .NET 10, so make sure the .NET 10 SDK (or a compatible runtime) is installed first.
Install
dotnet tool install Curiosity.CLI --global
The tool installs as the binary curiosity-cli on your PATH (under ~/.dotnet/tools/ on Linux/macOS, %USERPROFILE%\.dotnet\tools\ on Windows). If your shell can't find it, add that directory to PATH.
Verify the install:
curiosity-cli --help
You should see the full list of commands — the same set documented under Commands.
Update
dotnet tool update Curiosity.CLI --global
Keep the CLI roughly in step with your workspace version. Many commands use the Curiosity.Library client under the hood, so a very old CLI can lose features (or stop talking to a much newer workspace).
Uninstall
dotnet tool uninstall Curiosity.CLI --global
Local (per-project) install
For CI/CD or repo-local pinning, install the tool into a local manifest instead of the global cache:
dotnet new tool-manifest # creates .config/dotnet-tools.json
dotnet tool install Curiosity.CLI
Afterwards invoke the tool with dotnet tool run curiosity-cli ... or, after dotnet tool restore, simply curiosity-cli ... from within the repo.
Use from CI
GitHub Actions, GitLab CI, Azure Pipelines — any CI that has the .NET SDK can install the tool the same way. Typical sequence:
dotnet tool install Curiosity.CLI --global
export PATH="$PATH:$HOME/.dotnet/tools"
curiosity-cli wait-for -s "$WORKSPACE_URL" --max-timeout 600
curiosity-cli test -s "$WORKSPACE_URL" -t "$CURIOSITY_TOKEN"
See wait-for for the readiness probe used above.
Where to get a Library Token
Most commands need a Library Token. Create one in your workspace under Manage → Tokens → Library.
- The token grants the same permissions as the user who created it.
- For CI use, create a dedicated service user with the minimum role required by the commands you intend to run (for example, the
upload-front-endcommand needs Admin rights to manage interfaces). - For local development, you can store the token encrypted on disk with
store-tokenand then pass--token autoto other commands.
For JWT-style tokens used to call custom endpoints (a different concept), see Endpoint Tokens.
Source
The CLI is part of the open-source-friendly portion of the Curiosity codebase — its commands live under Library/Curiosity.CLI/ in the workspace repository. Each command has its own Program.<Command>.cs file. If you need a flag that isn't covered here, search the source for the command method (for example UploadFolder for upload-folder) and check the parameter list.