Skip to content

All commands exit with code 1 even on success #18

@dmwyatt

Description

@dmwyatt

Summary

Every grans command returns exit code 1, even when producing correct output with no errors on stderr. This breaks scripting, piping, and tool integration that checks exit codes.

Environment

  • grans version: 2026.2.10 (830f2e0)
  • OS: Windows 11 Pro (Git Bash)
  • Binary: C:\Users\<user>\.local\bin\grans.exe

Reproduction

Every command is affected. Simplest reproduction:

grans --version > stdout.txt 2> stderr.txt
echo "EXIT: $?"
# EXIT: 1

cat stdout.txt
# grans 2026.2.10 (830f2e0)    <-- correct output

cat stderr.txt
# (empty)                       <-- no errors

Other examples:

grans info > /dev/null 2>&1; echo $?
# 1

grans search "some term" > /dev/null 2>&1; echo $?
# 1

grans show <meeting-id> > /dev/null 2>&1; echo $?
# 1

grans recent > /dev/null 2>&1; echo $?
# 1

In all cases:

  • stdout: contains the expected, correct output
  • stderr: empty
  • exit code: 1 (should be 0)

Impact

  • Tools that check exit codes (CI scripts, shell && chains, Claude Code's Bash tool) interpret every grans invocation as a failure
  • Parallel execution of multiple grans commands in tool environments gets disrupted because a "failed" command can cascade-cancel sibling commands
  • set -e scripts will abort on any grans call
  • Makes it harder to distinguish actual failures from successful runs

Expected Behavior

Commands that produce correct output and have no errors should exit with code 0. Non-zero exit codes should be reserved for actual failures (bad arguments, missing data, database errors, etc.).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions