--quiet hides the error message when a command fails
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- Une demi-journée
- Accessibilité débutants
- 52/100
Piste de recherche
The final error line is printed via printer.errorln in cmd/soroban-cli/src/cli.rs (around line 106), and the --quiet flag is defined in cmd/soroban-cli/src/commands/global.rs. Start by reading how the printer suppresses output under quiet mode, then decide how a failing command's error reaches stderr while progress lines stay hidden. Done when stellar -q tx sign with a bad key prints the error and still exits 1, and successful quiet runs and --output json behavior are unchanged.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What's wrong:
With -q / --quiet, a failing command exits 1 and prints nothing: no error on stderr and nothing on stdout. For example, with CLI 28.1.0:
$ stellar -q tx sign --sign-with-key nobody --network-passphrase "Test SDF Network ; September 2015" < tx.xdr
$ echo $?
1
Without -q the same command prints ❌ error: .... The flag's help says it means "Do not write logs to stderr including INFO" (v28.1.0 global.rs#L27-L29), but the final error line goes through the same quiet-aware printer as the progress lines (v28.1.0 cli.rs#L106, printer.errorln(format!("error: {e}"))). Before #1584 (September 2024, about contract init error handling) the error was always written with eprintln!; that PR moved it to the printer.
Impact:
-q is what scripts and agents use to drop the progress lines (for example LATCH passes --quiet on every call), so it's the mode where a readable failure matters most. Under -q the only signal is the exit code, so a script or a coding agent can't tell a missing identity from a network error or a contract failure, and logs show nothing to debug.
How we found it:
While checking how scripts and agents drive the CLI, as part of a review of HackMeridian 2026 hackathon repos (147 public repos) against CLI 28.1.0. Reproduced with the 28.1.0 release binary on 1 November 2026. Some repos wrap every CLI call in --quiet (for example LATCH scripts/testnet/bootstrap.mjs#L70-L72), so any failure there surfaces only as an exit code.
Outcome we're after:
When a command fails under -q, the reason is still available to the caller. How to get there is up to the implementer.
Compatibility: Successful runs under -q should stay as quiet as today, and exit codes shouldn't change.
How to check:
stellar -q tx sign --sign-with-key nobody ... < tx.xdrexits 1 and the reason is available.- A successful
stellar -q contract deploy ...still prints only the contract ID. - Commands that already emit JSON errors with
--output jsonbehave as before.
Related: #2622 (structured output and errors), #2635 (JSON error output for commands with --output json, which still works under -q), #1840 and #2300 (-q also silences the detailed tx sign output), #1971 (closed; alias ls info lines on stdout ignore -q).
- Langage dominant
- Rust
- Étoiles
- 129
- Forks
- 153
- Merge moyen
- 1 j 14 h
- PR mergées (30 j)
- 11
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de stellar/stellar-cli
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
stellar/stellar-cli#2887 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
stellar/stellar-cli#2880 ·
Les mainteneurs répondent en général sous 1 jour
-
arg_value_union panics on zero-arity union tuple case (unchecked type_[0] index)Peut-être pris @hvoi l’a pris il y a 22 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
stellar/stellar-cli#2806 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
contract extend panics on single-change resultMetaXdr (index out of bounds at extend.rs:306)Peut-être à nouveau libre @duongynhi000005-oss l’a pris il y a 18 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
stellar/stellar-cli#2796 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Document stellar-cli's RPC trust boundaryPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
stellar/stellar-cli#2781 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de stellar/stellar-cli
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
stellar/rs-stellar-xdr#621 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
Pin `scope.options.variant` on the `status-light` "Semantic (Dot)" / "Non-semantic (Dot)" relationshipsPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertedesign-data-spec
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
adobe/spectrum-design-data#1755 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour