Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`--profile` missing from `quarto call engine`, `call build-ts-extension`, and `call typst-gather` --help

Open Beginner friendly
#14,915 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
86/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
cli

Research direction

Start in src/command/call/cmd.ts and compare profile handling with appendLogOptions in src/core/log.ts. Review appendProfileArg in src/quarto-core/profile.ts, then check help output for engine, build-ts-extension, typst-gather, and axe. Done means the three affected subcommands consistently show --profile without changing axe behavior.

Written by the indexing model from the issue text.

Description

documentation

quarto call engine, quarto call build-ts-extension, and quarto call typst-gather --help are all missing --profile, while quarto call axe --help has it:

$ quarto call typst-gather --help
...
Options:

  -h, --help               - Show this help.
  --init-config            - Generate a starter typst-gather.toml in current directory
  --log          <file>    - Path to log file
  --log-level    <level>   - Log level (debug, info, warning, error, critical)
  --log-format   <format>  - Log format (plain, json-stream)
  --quiet                  - Suppress console output.

$ quarto call axe --help
...
  --log         <file>       - Path to log file
  --log-level   <level>      - Log level (debug, info, warning, error, critical)
  --log-format  <format>     - Log format (plain, json-stream)
  --quiet                    - Suppress console output.
  --profile                  - Active project profile(s)

--profile is registered as a global option in appendProfileArg:

https://github.com/quarto-dev/quarto-cli/blob/97f222ff3934fa6291272cbf2d969405c636035b/src/quarto-core/profile.ts#L35-L42

This relies on cliffy's native global: true option inheritance, which per #8438 does not reliably reach every subcommand. appendLogOptions hit the same bug and works around it by manually forwarding the log/quiet options to every subcommand instead of trusting cliffy's inheritance:

https://github.com/quarto-dev/quarto-cli/blob/97f222ff3934fa6291272cbf2d969405c636035b/src/core/log.ts#L81-L99

appendProfileArg never got the same treatment, so it still depends on cliffy's inheritance and only reaches the last subcommand registered under call:

https://github.com/quarto-dev/quarto-cli/blob/97f222ff3934fa6291272cbf2d969405c636035b/src/command/call/cmd.ts#L7-L20

axe was added last (#14815) and is the only one that got --profile by coincidence. This also explains why quarto-web's automated reference docs lost --profile from quarto call typst-gather between v1.11.3 and v1.11.5, even though nothing in typst-gather's own command changed.

We could apply the same subcommand-forwarding pattern from appendLogOptions to appendProfileArg.

Related: #8438

Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 3h
Merged PRs (30d)
54

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from quarto-dev/quarto-cli

All issues in quarto-dev/quarto-cli

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.