CLI-Referenz · Referenz
Ausgabe und Exit-Codes
Was die CLI ausgibt, für Menschen und für Agenten, und woran ein Skript erkennt, was passiert ist.
Für Menschen
Standard ist eine kompakte, lesbare Ausgabe, bei Listen eine Tabelle. Beispiel
workban task list --mine:
#42 in_progress workban Login-Redirect nach Magic Link fixen claude-code fix/auth-redirect-loop läuft 22m
#39 done screenway Slider-Animation auf Safari codex feat/slider 1h 12m
Hinweise und Warnungen gehen auf stderr, etwa dass eine neuere Version verfügbar ist oder welche lokalen Pfade die CLI aus einem Text entfernt hat.
Für Agenten: --json
Jeder Befehl akzeptiert --json und gibt dann genau ein JSON-Objekt auf stdout aus, nichts
anderes. Meldungen und Fehler gehen auf stderr.
workban task create "…" --start --json
# stdout:
{ "id": "…", "number": 42, "status": "in_progress", "url": "https://workban.de/t/42?w=bergx2", … }
Bei --json oder ohne Terminal gibt es keine interaktiven Fragen. Fehlt eine Pflichtangabe, bricht
die CLI mit Exit-Code 2 ab, statt an einer Eingabeaufforderung zu hängen. Jede Antwort zu einem Task
enthält url, damit ein Agent den Link in seiner Zusammenfassung nennen kann.
Fehler mit --json
stdout enthält { "error": { "code", "message", "details" } } im selben Format wie die API. Der
Exit-Code richtet sich nach der Art des Fehlers, siehe Exit-Codes.
{ "error": { "code": "forbidden", "message": "Keine Berechtigung für task.delete (Rolle: member)" } }
Wiederholungen
Verbindungsfehler und die Antworten 502, 503 und 504 (etwa während ein Deploy den Web-Container
tauscht) wiederholt die CLI bis zu dreimal mit 0,5, 1,5 und 3 Sekunden Abstand, auch bei
Schreibzugriffen. Das ist sicher, weil die wichtigen Befehle wiederholbar sind:
task create erkennt einen offenen Task zum Branch, move auf
denselben Status ändert nichts, claim und start lassen sich wiederholen. Nur ein Kommentar
könnte im Extremfall doppelt ankommen.
Exit-Codes
| Code | Bedeutung |
|---|---|
| 0 | Erfolg |
| 1 | API-Fehler (4xx/5xx), Details auf stderr, bei --json auch das Fehlerobjekt |
| 2 | Falsche Nutzung: fehlende Argumente, mehrdeutige Angaben, keine Config |
| 3 | Nicht authentifiziert: kein Token oder 401 |
| 4 | Netzwerkfehler, API nicht erreichbar |
Agenten können sich auf diese Codes verlassen und müssen stderr nicht auswerten. Die Hooks enden immer mit 0, siehe hook.